Nikolay Sivov : gdi32/dibdrv: Fix a clipped_rects leak (Valgrind).

Alexandre Julliard julliard at winehq.org
Fri Apr 25 14:15:25 CDT 2014


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri Apr 25 12:36:44 2014 +0400

gdi32/dibdrv: Fix a clipped_rects leak (Valgrind).

---

 dlls/gdi32/dibdrv/bitblt.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/gdi32/dibdrv/bitblt.c b/dlls/gdi32/dibdrv/bitblt.c
index a9c32bf..a944e71 100644
--- a/dlls/gdi32/dibdrv/bitblt.c
+++ b/dlls/gdi32/dibdrv/bitblt.c
@@ -925,7 +925,10 @@ DWORD put_image_into_bitmap( BITMAPOBJ *bmp, HRGN clip, BITMAPINFO *info,
     src_dib.bits.is_copy = bits->is_copy;
 
     if (get_clipped_rects( &dib, &dst->visrect, clip, &clipped_rects ))
+    {
         copy_rect( &dib, &dst->visrect, &src_dib, &src->visrect, &clipped_rects, R2_COPYPEN );
+        free_clipped_rects( &clipped_rects );
+    }
 
     return ERROR_SUCCESS;
 
@@ -981,6 +984,7 @@ DWORD dibdrv_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info,
         }
         else
             ret = execute_rop( pdev, &dst->visrect, &src_dib, &src->visrect, &clipped_rects, rop );
+        free_clipped_rects( &clipped_rects );
     }
     if (tmp_rgn) DeleteObject( tmp_rgn );
     return ret;




More information about the wine-cvs mailing list