Piotr Caban : gdiplus: Fix gdi handles leak in GdipMeasureCharacterRanges.

Alexandre Julliard julliard at winehq.org
Tue Jun 2 08:11:19 CDT 2020


Module: wine
Branch: stable
Commit: 3b2dc114fb883358a6f3cf8042d0d804d27aed4d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=3b2dc114fb883358a6f3cf8042d0d804d27aed4d

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Mar  5 16:04:16 2020 +0100

gdiplus: Fix gdi handles leak in GdipMeasureCharacterRanges.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit c74d909e3b89246ca9ed7431a2da59ffa9549501)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 dlls/gdiplus/graphics.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 810300ae59..a93ccb1baf 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -5364,7 +5364,13 @@ GpStatus WINGDIPAPI GdipMeasureCharacterRanges(GpGraphics* graphics,
     {
         stat = GdipSetEmpty(regions[i]);
         if (stat != Ok)
+        {
+            SelectObject(hdc, oldfont);
+            DeleteObject(gdifont);
+            if (temp_hdc)
+                DeleteDC(temp_hdc);
             return stat;
+        }
     }
 
     args.regions = regions;




More information about the wine-cvs mailing list