Nikolay Sivov : gdiplus: GdipGetLineGammaCorrection should check result pointer. Test added.
Alexandre Julliard
julliard at winehq.org
Wed Sep 3 07:43:49 CDT 2008
Module: wine
Branch: master
Commit: 69e17d6a6a879aaf1b3bafe87d3fe3b99c8f3feb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=69e17d6a6a879aaf1b3bafe87d3fe3b99c8f3feb
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Wed Sep 3 00:25:39 2008 +0400
gdiplus: GdipGetLineGammaCorrection should check result pointer. Test added.
---
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);
}
More information about the wine-cvs
mailing list