Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

All the automated static and dynamic software analyzers catch only the easiest flaws

In a 64-bit environment, at least for development purposes, why can't every single malloc() cause an allocation from new memory page(s)? Then free() removes the page(s) from accessible virtual memory.

Too much overhead for production, but it would sure catch a lot of use-after-free bugs during development. Is nobody doing something like that, or is that part of what you consider "the easiest flaws"?



Wait, you mean like _CRTDBG_DELAY_FREE_MEM_DF which will just mark freed blocks as freed and inaccessible? https://msdn.microsoft.com/en-us/library/5at7yxcs.aspx


It's been a while but I'm pretty sure the issues here only happen in extremely contrived edge cases. Not to say they aren't big deals or to downplay them, but I don't think even that would catch them reliably. Not without extremely heavy fuzzing or something.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: