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 */