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

Reply via email to