projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
autoupdate
[gnulib.git]
/
lib
/
xmalloc.c
diff --git
a/lib/xmalloc.c
b/lib/xmalloc.c
index
74a8614
..
08c30fb
100644
(file)
--- a/
lib/xmalloc.c
+++ b/
lib/xmalloc.c
@@
-52,8
+52,16
@@
xmalloc (size_t n)
void *
xrealloc (void *p, size_t n)
{
void *
xrealloc (void *p, size_t n)
{
+ if (!n && p)
+ {
+ /* The GNU and C99 realloc behaviors disagree here. Act like
+ GNU, even if the underlying realloc is C99. */
+ free (p);
+ return NULL;
+ }
+
p = realloc (p, n);
p = realloc (p, n);
- if (!p && n
!= 0
)
+ if (!p && n)
xalloc_die ();
return p;
}
xalloc_die ();
return p;
}