bug-glibc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: memset (0, 0, 0);


From: Richard Earnshaw
Subject: Re: memset (0, 0, 0);
Date: Tue, 08 Apr 2003 10:29:55 +0100

> 
> Hi Geoff,
> 
> Which xmalloc are you referring to? The xmalloc in this case is a gdb 
> internal function, defined in gdb/utils.c:
> 
> PTR xmalloc (size_t size)
> {
>   return xmmalloc (NULL, size);
> }
> 
> And xmmalloc is:
> 
> void * xmmalloc (void *md, size_t size)
> {
>   void *val;
> 
>   if (size == 0)
>     {
>       val = NULL;
>     }
>   else
>     {
>       val = mmalloc (md, size);
>       if (val == NULL)
>       nomem (size);
>     }
>   return (val);
> }
> 
> So size=0 does indeed return NULL. Also, I have single stepped this code to 
> verify that this is actually what happens.

It looks as though that implementation of xmalloc doesn't match the 
general specification of xmalloc, which is that xmalloc must *never* 
return NULL (see libiberty/xmalloc.c for the specification).

I'm not sure why gdb is trying to provide its own implementation of these 
functions and not use those in libiberty.  Andrew?

R.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]