From 02efd4bbf1afdc9cba8c7e824d85bb7f7b6a7319 Mon Sep 17 00:00:00 2001 From: Evan Stade Date: Fri, 22 Jun 2007 19:24:50 -0700 Subject: [PATCH] gdiplus: Fix erroneous pen error checking. --- dlls/gdiplus/pen.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dlls/gdiplus/pen.c b/dlls/gdiplus/pen.c index d0355dbf9e4..9ee72d9e19d 100644 --- a/dlls/gdiplus/pen.c +++ b/dlls/gdiplus/pen.c @@ -33,8 +33,11 @@ GpStatus WINGDIPAPI GdipCreatePen1(ARGB color, FLOAT width, GpUnit unit, LOGBRUSH lb; GpPen *gp_pen; + if(!pen) + return InvalidParameter; + gp_pen = GdipAlloc(sizeof(GpPen)); - if(!pen) return OutOfMemory; + if(!gp_pen) return OutOfMemory; gp_pen->style = GP_DEFAULT_PENSTYLE; gp_pen->color = ARGB2COLORREF(color); @@ -51,12 +54,10 @@ GpStatus WINGDIPAPI GdipCreatePen1(ARGB color, FLOAT width, GpUnit unit, 0, NULL); } else { FIXME("UnitWorld, UnitPixel only supported units\n"); + GdipFree(gp_pen); return NotImplemented; } - if(!gp_pen) - return GenericError; - *pen = gp_pen; return Ok;