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>
This commit is contained in:
Jamey Sharp 2010-05-08 09:41:46 -07:00
parent ccdaecc547
commit 4080cd42fd

View File

@ -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;