What?
https://sourceware.org/git/?p=glibc.git;a=blob;f=string/strstr.c;hb=9d13fb2413921c713f83efe331e8e4d219c62c6b#l21
Why?
My assumption is, that there is a lot of undefined behavior in this code.
We could talk about fuzzing, porting C code, performance benchmarks and more.
How?
- Create a naive implementation of
strstr in Rust.
- Benchmark it against the existing C version.
- Port the C
strstr version verbatim to Rust.
- Run afl (fuzzing) against it to check for edge-cases.
Thanks for the inspiration @jorgelbg.
What?
https://sourceware.org/git/?p=glibc.git;a=blob;f=string/strstr.c;hb=9d13fb2413921c713f83efe331e8e4d219c62c6b#l21
Why?
My assumption is, that there is a lot of undefined behavior in this code.
We could talk about fuzzing, porting C code, performance benchmarks and more.
How?
strstrin Rust.strstrversion verbatim to Rust.Thanks for the inspiration @jorgelbg.