summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <vinschen@redhat.com>2007-11-26 10:01:25 +0000
committerCorinna Vinschen <vinschen@redhat.com>2007-11-26 10:01:25 +0000
commitaaf339cf59104389ec9256c0226ab83c87c087c5 (patch)
treea1c370f6be1211653491b8b990b2202d83ba06f1
parent85ca7da766fb7da65ca43fbd440fb18433b268e7 (diff)
downloadgdb-aaf339cf59104389ec9256c0226ab83c87c087c5.tar.gz
* cygheap.cc (_crealloc): Avoid memcpy when _cmalloc returns NULL.
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/cygheap.cc7
2 files changed, 9 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c32d53a25fa..338b5947d20 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+2007-11-23 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygheap.cc (_crealloc): Avoid memcpy when _cmalloc returns NULL.
+
2007-11-22 Christian Franke <franke@computer.org>
* fhandler_registry.cc (must_encode): New function.
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index caeda7b3a1e..250f7d496f4 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -232,8 +232,11 @@ _crealloc (void *ptr, unsigned size)
if (size <= oldsize)
return ptr;
newptr = _cmalloc (size);
- memcpy (newptr, ptr, oldsize);
- _cfree (ptr);
+ if (newptr)
+ {
+ memcpy (newptr, ptr, oldsize);
+ _cfree (ptr);
+ }
}
return newptr;
}