Package: gcc-4.4-base Version: 4.4.4-7 Severity: critical Tags: squeeze Justification: causes serious data loss
When using one of the printf functions, guint64 variables cause the following value to be incorrectly displyed. The following code illustrates this: #include <stdio.h> #include <glib.h> int main( argv, argc ) { guint8 g1, g2; guint64 g3, g4; char *TS; TS = "This is a test"; g1 = 1; g2 = 2; g3 = 3; g4 = 4; printf("g1 %u, g2 %u, g3 %u, g4 %u\n", g1, g2, g3, g4); printf("g1 %u, g3 %u, g2 %u, g4 %u\n", g1, g3, g2, g4); printf("g3 %u, TS %s\n", g3, TS); printf("g1 %u\n", g1); printf("g2 %u\n", g2); printf("g3 %u\n", g3); printf("g4 %u\n", g4); printf("TS %s\n", TS); return; } generates: g1 1, g2 2, g3 3, g4 0 g1 1, g3 3, g2 0, g4 2 g3 3, TS (null) g1 1 g2 2 g3 3 g4 4 TS This is a test Note that output line 1, g4 outputs as 0, line2 g2 outputs as 0, and line 3 shows the string as NULL. -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (990, 'testing'), (600, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org