- n *= m;
- p = malloc(n);
- if (!p) return 0;
- /* Only do this for non-mmapped chunks */
- if (((size_t *)p)[-1] & 7) {
- /* Only write words that are not already zero */
- m = (n + sizeof *z - 1)/sizeof *z;
- for (z=p; m; m--, z++) if (*z) *z=0;
- }
- return p;