Package: libglib1.2 Version: 1.2.10-10.1 Severity: normal Hi,
consider gstrfuncs.c:g_printf_string_upper_bound(): It calculates the number of bytes to allocate for a string buffer. In the %f format string case, negative values are possible, generating a Glib ERROR. The attached patch fixes this. bye, Roland -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16-2-686 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8) Versions of packages libglib1.2 depends on: ii libc6 2.3.6.ds1-4 GNU C Library: Shared libraries libglib1.2 recommends no packages. -- no debconf information
--- gstrfuncs.c.orig 2006-09-15 09:57:03.000000000 +0200 +++ gstrfuncs.c 2006-09-15 09:57:26.000000000 +0200 @@ -1047,7 +1047,7 @@ gint exp = u_double.mpn.biased_exponent; exp -= G_IEEE754_DOUBLE_BIAS; - exp = exp * G_LOG_2_BASE_10 + 1; + exp = abs(exp * G_LOG_2_BASE_10) + 1; conv_len += exp; } /* some printf() implementations require extra padding for rounding */