From: Zoltan B. <zb...@du...> - 2005-12-27 23:14:09
|
Hi, I finally fixed all the problems that caused crashes or truncated UTF-8=20 strings in the current RLIB CVS. All patches are attached. Use only these patches= , some patches I previously sent are wrong. Description follows. rlib-1.3.7-charencoder-fix.patch Don't memset() a NULL pointer. g_iconv() doesn't allocate the output buffer, use g_convert_with_iconv()=20 instead. More verbose explanation was sent earlier. rlib-1.3.7-layout.c-64bit-fix.patch On 64-bit systems, gsize isn't the same size as guint. So, don't pass an address of a smaller sized variable to a function that expects a larger storage, it will corrupt the stack and cause crashes elsewhere. rlib-1.3.7-resolution.c-fix.patch Always return an allocated string. The function returns a string, not an integer. This caused empty fields and/or crashes in the report depending on the moon phase... rlib-1.3.7-layout-string-resize.patch Resize the allocated buffer if needed to avoid crashes. rlib-1.3.7-formatstring-align-fix.patch Don't truncate UTF-8 strings. Now if someone can test all these on systems with a newer GCC, e.g. later 4.0.x or 4.1, preferably FC4 or FC5test, I would be happy. Even happier if no other problems appear. :-) The new GCC versions in newer Fedora Core are known to be stricter. Best regards, Zolt=E1n B=F6sz=F6rm=E9nyi |