In the last episode (Oct 05), Robert Huff said: > Dan Nelson writes: > > Could be one of two problems. The program either malloced memory > > and tried to use it without zeroing it, or it freed some memory > > and tried to keep using it. In -current, the malloc has the J > > debugging flag set, which fills malloced and freed memory with > > 0xd0 (see the malloc manpage). > > On that page (on my 5.1 system), it says malloc() does not zero > allocated pages. Is this a change (possibly just for CURRENT), and > if so since when? Bexause unless I'm delusional (possible) I thought > pages /were/ supposed to be zeroed, and doing so was one of the > system's "as time permits" chores.
Pages handed to processes by the kernel are always zeroed, but pages free()d then malloc()ed again are not zeroed by default on -RELEASEs, because they usually aren't returned back to the kernel inbetween (unless H is set, and even then it's not guaranteed). -CURRENT always has the J flag set, which means that any memory returned by malloc or passed to free will get overwritten with 0xD0, to aid debugging. That's not mentioned in the manpage, although I think it is mentioned someplace else (either FAQ or handbook). -- Dan Nelson [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"