summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamey Sharp <jamey@minilop.net>2010-05-08 09:41:46 -0700
committerJamey Sharp <jamey@minilop.net>2010-05-10 11:16:33 -0700
commit4080cd42fde8b4c693eab7557581af2622479109 (patch)
tree4c45ae12d5b687264dbcd0fd61d27718ca860f47
parentccdaecc5471cc2d56b1702eeed4280bb4d58c515 (diff)
miPolyPoint bugfix: Check memory allocation before changing the GC.
miPolyPoint ought to leave the GC unchanged even if it fails. ajax says: > We have a new winner for the oldest-bug competition! It's actually > been like that since X11R1: > > -rw-r--r--. 1 ajax ajax 2817 1987-09-12 01:20 ddx/mi/mipolypnt.c Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Adam Jackson <ajax@redhat.com>
-rw-r--r--mi/mipolypnt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mi/mipolypnt.c b/mi/mipolypnt.c
index 5d6243ab0..12771ee4e 100644
--- a/mi/mipolypnt.c
+++ b/mi/mipolypnt.c
@@ -73,6 +73,9 @@ miPolyPoint(
int i;
xPoint *ppt;
+ if(!(pwidthInit = xalloc(npt * sizeof(int))))
+ return;
+
/* make pointlist origin relative */
if (mode == CoordModePrevious)
{
@@ -107,8 +110,6 @@ miPolyPoint(
DoChangeGC(pGC, GCFillStyle, &fsNew, 0);
ValidateGC(pDrawable, pGC);
}
- if(!(pwidthInit = xalloc(npt * sizeof(int))))
- return;
pwidth = pwidthInit;
for(i = 0; i < npt; i++)
*pwidth++ = 1;