=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: gdiplus/tests: Fix out-of-bounds access (coverity).

Alexandre Julliard julliard at winehq.org
Tue Oct 23 13:37:18 CDT 2012


Module: wine
Branch: master
Commit: 9e5936b36c75a417c2e5801049877d06e93fd417
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9e5936b36c75a417c2e5801049877d06e93fd417

Author: André Hentschel <nerv at dawncrow.de>
Date:   Mon Oct 22 23:52:55 2012 +0200

gdiplus/tests: Fix out-of-bounds access (coverity).

---

 dlls/gdiplus/tests/graphics.c |   24 +++++++++++-------------
 1 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/dlls/gdiplus/tests/graphics.c b/dlls/gdiplus/tests/graphics.c
index 475f7d6..4ed13ea 100644
--- a/dlls/gdiplus/tests/graphics.c
+++ b/dlls/gdiplus/tests/graphics.c
@@ -2948,7 +2948,7 @@ static void test_string_functions(void)
     GpRegion *regions[4];
     BOOL region_isempty[4];
     int i;
-    PointF position;
+    PointF positions[8];
     GpMatrix *identity;
 
     ok(hdc != NULL, "Expected HDC to be initialized\n");
@@ -3186,24 +3186,22 @@ static void test_string_functions(void)
     status = GdipCreateMatrix(&identity);
     expect(Ok, status);
 
-    position.X = 0;
-    position.Y = 0;
-
     rc.X = 0;
     rc.Y = 0;
     rc.Width = 0;
     rc.Height = 0;
-    status = GdipMeasureDriverString(NULL, teststring, 6, font, &position,
+    memset(positions, 0, sizeof(positions));
+    status = GdipMeasureDriverString(NULL, teststring, 6, font, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         identity, &rc);
     expect(InvalidParameter, status);
 
-    status = GdipMeasureDriverString(graphics, NULL, 6, font, &position,
+    status = GdipMeasureDriverString(graphics, NULL, 6, font, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         identity, &rc);
     expect(InvalidParameter, status);
 
-    status = GdipMeasureDriverString(graphics, teststring, 6, NULL, &position,
+    status = GdipMeasureDriverString(graphics, teststring, 6, NULL, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         identity, &rc);
     expect(InvalidParameter, status);
@@ -3213,16 +3211,16 @@ static void test_string_functions(void)
         identity, &rc);
     expect(InvalidParameter, status);
 
-    status = GdipMeasureDriverString(graphics, teststring, 6, font, &position,
+    status = GdipMeasureDriverString(graphics, teststring, 6, font, positions,
         0x100, identity, &rc);
     expect(Ok, status);
 
-    status = GdipMeasureDriverString(graphics, teststring, 6, font, &position,
+    status = GdipMeasureDriverString(graphics, teststring, 6, font, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         NULL, &rc);
     expect(Ok, status);
 
-    status = GdipMeasureDriverString(graphics, teststring, 6, font, &position,
+    status = GdipMeasureDriverString(graphics, teststring, 6, font, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         identity, NULL);
     expect(InvalidParameter, status);
@@ -3231,7 +3229,7 @@ static void test_string_functions(void)
     rc.Y = 0;
     rc.Width = 0;
     rc.Height = 0;
-    status = GdipMeasureDriverString(graphics, teststring, 6, font, &position,
+    status = GdipMeasureDriverString(graphics, teststring, 6, font, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         identity, &rc);
     expect(Ok, status);
@@ -3248,7 +3246,7 @@ static void test_string_functions(void)
     rc.Y = 0;
     rc.Width = 0;
     rc.Height = 0;
-    status = GdipMeasureDriverString(graphics, teststring, 4, font, &position,
+    status = GdipMeasureDriverString(graphics, teststring, 4, font, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         identity, &rc);
     expect(Ok, status);
@@ -3262,7 +3260,7 @@ static void test_string_functions(void)
     rc.Y = 0;
     rc.Width = 0;
     rc.Height = 0;
-    status = GdipMeasureDriverString(graphics, teststring2, 1, font, &position,
+    status = GdipMeasureDriverString(graphics, teststring2, 1, font, positions,
         DriverStringOptionsCmapLookup|DriverStringOptionsRealizedAdvance,
         identity, &rc);
     expect(Ok, status);




More information about the wine-cvs mailing list