svn commit: r265367 - head/lib/libc/regex

Pedro Giffuni pfg at FreeBSD.org
Mon May 5 19:56:18 UTC 2014


El 5/5/2014 1:28 PM, David Chisnall escribió:
> On 5 May 2014, at 18:42, Andrey Chernov <ache at freebsd.org> wrote:
>
>> Please don't commit OpenBSD errors. Now you mix calloc() with the
>> realloc() for the same variable later which makes calloc() zeroing
>> pointless and waste of CPU.
>
> The purpose of calloc() here is not (primarily) to get the zero'd size, it's to get the overflow-checking behaviour for calloc.
>

Yes, but I reverted it because there are other ways to check for 
overflows without the performance hit.

> The uses of realloc() later do still potentially overflow, as they follow the realloc(pointer, size * sizeof(type)) antipattern.
>

FWIW, I actually got to this by checking kern/169302: unfortunately it 
is unclear if the NetBSD patch there (with or without the OpenBSD 
change) helps with the test case.

Pedro.




More information about the svn-src-all mailing list