Module: wine Branch: master Commit: 200d795ff3dd3792abb524e1720756a050660974 URL: https://gitlab.winehq.org/wine/wine/-/commit/200d795ff3dd3792abb524e1720756a...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sat Oct 7 18:13:51 2023 +0200
gdi32: Reject invalid values in SetMiterLimit().
---
dlls/gdi32/dc.c | 1 + dlls/gdi32/tests/dc.c | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c index 27211a2b1d2..09068c7d13a 100644 --- a/dlls/gdi32/dc.c +++ b/dlls/gdi32/dc.c @@ -1372,6 +1372,7 @@ BOOL WINAPI SetMiterLimit( HDC hdc, FLOAT limit, FLOAT *old_limit ) DC_ATTR *dc_attr; if (!(dc_attr = get_dc_attr( hdc ))) return FALSE; if (dc_attr->emf && !EMFDC_SetMiterLimit( dc_attr, limit )) return 0; + if (limit < 1.0f) return FALSE; if (old_limit) *old_limit = dc_attr->miter_limit; dc_attr->miter_limit = limit; return TRUE; diff --git a/dlls/gdi32/tests/dc.c b/dlls/gdi32/tests/dc.c index d8204acfc14..ef121470dfe 100644 --- a/dlls/gdi32/tests/dc.c +++ b/dlls/gdi32/tests/dc.c @@ -101,15 +101,12 @@ static void test_dc_values(void)
limit = 456.0; ret = SetMiterLimit(hdc, 0.9f, &limit); - todo_wine ok(!ret, "Unexpected return value.\n"); - todo_wine ok(limit == 456.0f, "Unexpected default miter limit %f.\n", limit);
limit = 0.0; ret = SetMiterLimit(hdc, 1.0f, &limit); ok(ret, "Unexpected return value.\n"); - todo_wine ok(limit == 10.0f, "Unexpected default miter limit %f.\n", limit);
DeleteDC( hdc );