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/

Reply via email to