[5/9] gdiplus: fix for GdipGetLineGammaCorrection with test
Nikolay Sivov
bunglehead at gmail.com
Tue Sep 2 16:08:19 CDT 2008
Changelog:
- GdipGetLineGammaCorrection should check result pointer. Test added.
>From 3c414e0ea4845783467b3caa848b0c25342aab69 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Wed, 3 Sep 2008 00:25:39 +0400
Subject: check pointer in GdipGetLineGammaCorrection with tests
---
dlls/gdiplus/brush.c | 2 +-
dlls/gdiplus/tests/brush.c | 25 +++++++++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c
index b8c5870..8bb807b 100644
--- a/dlls/gdiplus/brush.c
+++ b/dlls/gdiplus/brush.c
@@ -631,7 +631,7 @@ GpStatus WINGDIPAPI GdipGetLineGammaCorrection(GpLineGradient *line,
{
TRACE("(%p, %p)\n", line, usinggamma);
- if(!line)
+ if(!line || !usinggamma)
return InvalidParameter;
*usinggamma = line->gamma;
diff --git a/dlls/gdiplus/tests/brush.c b/dlls/gdiplus/tests/brush.c
index 6711fe4..c9f9826 100644
--- a/dlls/gdiplus/tests/brush.c
+++ b/dlls/gdiplus/tests/brush.c
@@ -145,6 +145,30 @@ static void test_getbounds(void)
GdipDeleteBrush((GpBrush*) brush);
}
+static void test_getgamma(void)
+{
+ GpStatus status;
+ GpLineGradient *line;
+ GpPointF start, end;
+ BOOL gamma;
+
+ start.X = start.Y = 0.0;
+ end.X = end.Y = 100.0;
+
+ status = GdipCreateLineBrush(&start, &end, (ARGB)0xdeadbeef, 0xdeadbeef, WrapModeTile, &line);
+ expect(Ok, status);
+
+ /* NULL arguments */
+ status = GdipGetLineGammaCorrection(NULL, NULL);
+ expect(InvalidParameter, status);
+ status = GdipGetLineGammaCorrection(line, NULL);
+ expect(InvalidParameter, status);
+ status = GdipGetLineGammaCorrection(NULL, &gamma);
+ expect(InvalidParameter, status);
+
+ GdipDeleteBrush((GpBrush*)line);
+}
+
START_TEST(brush)
{
struct GdiplusStartupInput gdiplusStartupInput;
@@ -162,6 +186,7 @@ START_TEST(brush)
test_gradientblendcount();
test_getblend();
test_getbounds();
+ test_getgamma();
GdiplusShutdown(gdiplusToken);
}
--
1.4.4.4
More information about the wine-patches
mailing list