[PATCH] gdi32: Fix memory leak (Valgrind).

Daniel Lehman dlehman25 at gmail.com
Wed Dec 19 23:35:05 CST 2018


Signed-off-by: Daniel Lehman <dlehman25 at gmail.com>
---
728 ==17404== 4 bytes in 1 blocks are definitely lost in loss record 5 of 506
729 ==17404==    at 0x7BC5B465: initialize_block (heap.c:238)
730 ==17404==    by 0x7BC5B465: RtlAllocateHeap (???:0)
731 ==17404==    by 0x701A57D: copy_src_bits (bitblt.c:700)
732 ==17404==    by 0x701A949: execute_rop (bitblt.c:765)
733 ==17404==    by 0x701B9AA: dibdrv_PutImage (bitblt.c:1034)
734 ==17404==    by 0x700346D: nulldrv_StretchBlt (bitblt.c:294)
735 ==17404==    by 0x701CE81: dibdrv_StretchBlt (bitblt.c:1405)
736 ==17404==    by 0x7005006: StretchBlt (bitblt.c:633)
737 ==17404==    by 0x7004B19: BitBlt (bitblt.c:580)
738 ==17404==    by 0x6CBEB03: check_BitBlt_pixel (bitmap.c:3006)
739 ==17404==    by 0x6CDD18C: test_BitBlt (bitmap.c:3054)
740 ==17404==    by 0x6CDD18C: func_bitmap (???:0)
741 ==17404==    by 0x6CBD941: main (test.h:617)
742 ==17404==
743 ==17404== 4 bytes in 1 blocks are definitely lost in loss record 6 of 506
744 ==17404==    at 0x7BC5B465: initialize_block (heap.c:238)
745 ==17404==    by 0x7BC5B465: RtlAllocateHeap (???:0)
746 ==17404==    by 0x701A57D: copy_src_bits (bitblt.c:700)
747 ==17404==    by 0x701A949: execute_rop (bitblt.c:765)
748 ==17404==    by 0x701B9AA: dibdrv_PutImage (bitblt.c:1034)
749 ==17404==    by 0x700346D: nulldrv_StretchBlt (bitblt.c:294)
750 ==17404==    by 0x701CE81: dibdrv_StretchBlt (bitblt.c:1405)
751 ==17404==    by 0x7005006: StretchBlt (bitblt.c:633)
752 ==17404==    by 0x7004B19: BitBlt (bitblt.c:580)
753 ==17404==    by 0x6CBEB03: check_BitBlt_pixel (bitmap.c:3006)
754 ==17404==    by 0x6CDD216: test_BitBlt (bitmap.c:3057)
755 ==17404==    by 0x6CDD216: func_bitmap (???:0)
756 ==17404==    by 0x6CBD941: main (test.h:617)

---
 dlls/gdi32/dibdrv/bitblt.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dlls/gdi32/dibdrv/bitblt.c b/dlls/gdi32/dibdrv/bitblt.c
index 0acb23f2e3..a84be8236e 100644
--- a/dlls/gdi32/dibdrv/bitblt.c
+++ b/dlls/gdi32/dibdrv/bitblt.c
@@ -1035,6 +1035,7 @@ DWORD dibdrv_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info,
                                &dc->brush_org, rop );
         free_clipped_rects( &clipped_rects );
     }
+    free_dib_info( &src_dib );
     if (tmp_rgn) DeleteObject( tmp_rgn );
     return ret;
 
-- 
2.17.1




More information about the wine-devel mailing list