Hi all,

I'm getting an buffer overflow error with recent GCC (ubuntu 4.3.2)
and -O3 optimization. The new cool feature is called _FORTIFY_SOURCE
(maybe). This checks at runtime buffer bounds within str*() and mem*()
functions. The problem that hits me is in regularExpr.c. The function
makeDelimiterTable() expects the second argument to be of type
'unsigned char[256]' but the declaration is only 'unsigned char *'.
memset() is that called with a length parameter of 256 and the
internal checks fails because the length of the arguments is not
known. If I declare this function with the 'unsigned char[256]' all
works as expected. The question I have now is: can all supported
platforms this syntax or is this purely my problem? I can disable
these checks with -U_FORTIFY_SOURCE.

Bert
-- 
NEdit Develop mailing list - [email protected]
http://www.nedit.org/mailman/listinfo/develop

Reply via email to