On Wed, Jan 11, 2017 at 7:13 AM, David Laight [off-list ref] wrote:
From: Andy Lutomirski
quoted
Sent: 10 January 2017 23:25
There are some hashes (e.g. sha224) that have some internal trickery
to make sure that only the correct number of output bytes are
generated. If something goes wrong, they could potentially overrun
the output buffer.
Make the test more robust by allocating only enough space for the
correct output size so that memory debugging will catch the error if
the output is overrun.
Might be better to test this by allocating an overlong buffer
and then explicitly checking that the output hasn't overrun
the allowed space.
If nothing else the error message will be clearer.
I thought about that, but then I'd have to figure out what poison
value to use. Both KASAN and the usual slab debugging are quite good
at this kind of checking, and KASAN will even point you to the
problematic code directly.
--Andy
--
Andy Lutomirski
AMA Capital Management, LLC