gdiplus/tests: Fix Out-of-bounds access (coverity)
André Hentschel
nerv at dawncrow.de
Mon Oct 22 16:52:55 CDT 2012
CID 215198 & 713167
---
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);
--
1.7.4.1
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list