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