From 105cd4711219e8f47e21fde03ab2accffbd5d451 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sat, 10 Aug 2013 11:27:22 -0700 Subject: Avoid memory leak/corruption if realloc fails in Xregion.h:MEMCHECK macro Signed-off-by: Alan Coopersmith Backported-to-NX-by: Ulrich Sibiller --- nx-X11/lib/X11/Xregion.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'nx-X11/lib/X11') diff --git a/nx-X11/lib/X11/Xregion.h b/nx-X11/lib/X11/Xregion.h index 1c36db144..4f55af82f 100644 --- a/nx-X11/lib/X11/Xregion.h +++ b/nx-X11/lib/X11/Xregion.h @@ -113,10 +113,11 @@ typedef struct _XRegion { */ #define MEMCHECK(reg, rect, firstrect){\ if ((reg)->numRects >= ((reg)->size - 1)){\ - (firstrect) = (BOX *) Xrealloc \ - ((char *)(firstrect), (unsigned) (2 * (sizeof(BOX)) * ((reg)->size)));\ - if ((firstrect) == 0)\ + BoxPtr tmpRect = Xrealloc ((firstrect), \ + (2 * (sizeof(BOX)) * ((reg)->size))); \ + if (tmpRect == NULL) \ return(0);\ + (firstrect) = tmpRect; \ (reg)->size *= 2;\ (rect) = &(firstrect)[(reg)->numRects];\ }\ -- cgit v1.2.3