Hi Nicolas. This sounds more like msan: https://code.google.com/p/memory-sanitizer/wiki/MemorySanitizer
--kcc On Wed, Jun 18, 2014 at 11:05 AM, Nicolas Hillegeer <[email protected]> wrote: > Hi, I'm not sure if this is exactly the right place but some linkes on the > web told me that it was so here goes: > > At the neovim project (https://github.com/neovim/neovim) we're refactoring > the codebase and we've got a few hairy cases: > > - we'd like to replace strncpy with strlcpy. strncpy zero-fills the part of > the buffer after > - we'd like to replace a growing array that memsets the extra memory to 0 > with one that doesn't > > Most call-sites are safe to transform as-is, because the zero-filling wasn't > used, but some aren't. This could be > because the memory region is used in some other function way up or down the > call-stack. It's very difficult to > ascertain that a conversion is perfectly safe. > > This is where I thought that manually poisoning the memory that used to be > zero-filled would be a good idea. There > is a snag however: when the poisoned memory is written to before it's read, > that's fine. Because that counts more or less > as initializing. Yet if the poisoned memory is first read, then it should > abort. > > I searched and found the Address Sanitizer manual poisoning wiki page: > https://code.google.com/p/address-sanitizer/wiki/ManualPoisoning > > But at first glance, it doesn't seem like it could do > read-until-write-poisoning. Is what I want doable? If not with ASan, perhaps > with > some other tool or with ASan in the future? > > Kind regards, > Nicolas > > -- > You received this message because you are subscribed to the Google Groups > "address-sanitizer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
