Date: Sun, 5 Oct 2003 21:27:51 -0700 From: James Jacobsen <james_jacobsen@lycos.co.uk> To: freebsd-questions@freebsd.org Subject: Re: malloc() behavior (was: Pointer please) Message-ID: <20031006042751.GA85685@res241015.resnet.wsu.edu> In-Reply-To: <20031006033200.GL5283@dan.emsphone.com> (from dnelson@allantgroup.com on Sun, Oct 05, 2003 at 20:32:00 -0700) References: <27DDB356-F790-11D7-9174-003065838A88@mulle-kybernetik.com> <20031006030656.GK5283@dan.emsphone.com> <16256.57227.924291.290786@jerusalem.litteratus.org> <20031006033200.GL5283@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
It does not matter what freebsd does, C does not require that malloc initialize space according to Kernighan and Ritchie. Its a good book, I would say its worth the forty dollars. --Will On 10/05/03 20:32:00, Dan Nelson wrote: > 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 > dnelson@allantgroup.com > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions- > unsubscribe@freebsd.org" > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031006042751.GA85685>