Fuzzing rust-minidump for Embarrassment and Crashes – Part 2
hacks.mozilla.org
Fuzzing rust-minidump for Embarrassment and Crashes – Part 2
1–4 of 4 posts
Re: Fuzzing rust-minidump for Embarrassment and Crashes – Part 2
#2But geez I have been burned a few too many times on the parts that are the same between some arches accidentally diverging because I forgot to copy-paste between them. :(
(breakpad also has this approach and you can reaaaallly see the pain of this approach as every stackwalker has gotten wildly inconsistent TLC so some have tons of fancy machinery and some are super barebones. Makes it hard to tell if the divergence is intentional or just an artifact of independent code.)
Re: Fuzzing rust-minidump for Embarrassment and Crashes – Part 2
#3“360 dunked on from outer space”, we’ve all been there but still, /r/brandnewsentence.
Re: Fuzzing rust-minidump for Embarrassment and Crashes – Part 2
#4The 'rust fuzzing' experience is really solid. You just 'derive' your way through it and you're 99% done.
> It’s quite natural and more efficient to start this process with something like Vec::with_capacity(list_length). Usually this is fine, but if the minidump is corrupt (or malicious), then this length could be impossibly large and cause us to immediately OOM.
That's a fun one. I `with_capacity` all the time and I guess I hadn't really thought too much about whether the value I pass in is strictly valid every time. Food for though.
Anyway, awesome write up, and great nod to Mario universes, which itself is a wild ride.