Hi, On three different cygwin 1.5.24-2 systems, attached testprogram (compile with ``gcc -o mall-test mall-test.c'') returns many lines like:
n1 S13 p12 is 0x81, not 0 n1 S14 p0 is 0x8c, not 0 n1 S14 p1 is 0x7f, not 0 n1 S14 p2 is 0x14, not 0 n1 S14 p3 is 0x61, not 0 n1 S14 p4 is 0x8c, not 0 n1 S14 p5 is 0x7f, not 0 n1 S14 p6 is 0x14, not 0 n1 S14 p7 is 0x61, not 0 n1 S14 p12 is 0x81, not 0 This indicates malloc returning non-zeroed memory. Has anybody got a clue as to what's going on? L8r, Buzz. -- ) | | ---/ ---/ Yes, this | This message consists of true | I do not -- | | / / really is | and false bits entirely. | mail for ) | | / / a 72 by 4 +-------------------------------+ any1 but -- \--| /--- /--- .sigfile. | |perl -pe "s.u(z)\1.as." | me. 4^re
#include <stdio.h> #include <malloc.h> int main () { int n, s, p, f; char *m; for (f = 0, n = 1; n <= 10000 && f <= 200; n++) { for (s = 1; s < 40; s++) { m = malloc (s); if (m == NULL) { printf ("n%d s%d: Malloc returned NULL.\n", n, s); } else { // m!= NULL for (p = 0; p < s; p++) { if (m[p] != 0) { f++; printf ("n%d S%d p%d is 0x%02x, not 0\n", n, s, p, m[p] & 255 ); } } // for p free (m); } // m == NULL } // for s } // for n return f > 0; }
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/