From: H. Peter Anvin Date: Mon, 13 Mar 2006 06:41:35 GMT Subject: Re: [PATCH] Trivial warning fix for imap-send.c Message-ID: <4415141F.2080604@zytor.com> In-Reply-To: <20060313033805.GB14601@coredump.intra.peff.net> Jeff King wrote: > > I think Linus has cut to the heart of the discussion (that it's worth > git maintainers' sanity not to worry about such problems). However, for > pedantry's sake, this is how malloc works: > > A void pointer is guaranteed to be able to hold any type of pointer > (either char * or struct foo * or whatever). The declaration of malloc > indicates a return of void *. On a platform where it matters, the > compiler generates code so that > struct foo *bar = malloc(100); > converts the void * pointer into the correct size (in the same way that > assigning between differently sized integers works). > Furthermore, the return value of malloc() (calloc, realloc, ...) is guaranteed to be a value suitable for casting to any pointer type for which at least one object can fit in the allocated memory block. -hpa