On Tue, Dec 29, 2009 at 05:38:17PM +0200, Michael S. Tsirkin wrote: > On Mon, Dec 28, 2009 at 04:49:00PM +0100, Aurelien Jarno wrote: > > realloc(ptr, 0) is always allowed by the standard. The return value is > > either NULL or a pointer that can be freed with free(). > > > > Allow usage of qemu_realloc(ptr, 0), and return NULL in that case, as > > free(NULL) should always be a nop. > > > > This fixes -kernel with stripped kernels. > > > > Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> > > So this is superceded by > loader: don't call realloc(non_null, 0) > right?
Oh, you said as much already. Sorry about the noise. > > --- > > qemu-malloc.c | 6 +++--- > > 1 files changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/qemu-malloc.c b/qemu-malloc.c > > index 5d9e34d..cf6a1f1 100644 > > --- a/qemu-malloc.c > > +++ b/qemu-malloc.c > > @@ -63,10 +63,10 @@ void *qemu_realloc(void *ptr, size_t size) > > { > > if (size) { > > return oom_check(realloc(ptr, size)); > > - } else if (allow_zero_malloc()) { > > - return oom_check(realloc(ptr, size ? size : 1)); > > + } else if (ptr) { > > + qemu_free(ptr); > > } > > - abort(); > > + return NULL; > > } > > > > void *qemu_mallocz(size_t size) > > -- > > 1.6.5.3 > > > > >