17 Sep
2025
17 Sep
'25
12:34 p.m.
Jinoh Kang (@iamahuman) commented about dlls/win32u/bitblt.c:
} else bmpWork = NtGdiCreateCompatibleBitmap( hdcDest, widthDest, heightDest ); oldWork = NtGdiSelectBitmap(hdcWork, bmpWork); + + if (!(dc_work = get_dc_ptr(hdcWork))) goto error; + dc_work->attr->stretch_blt_mode = COLORONCOLOR;
This causes memory leak because get\_dc\_ptr increments reference count but you don't decrement it back. Call release\_dc\_ptr when you're done: ```suggestion:-1+0 if (!(dc_work = get_dc_ptr(hdcWork))) goto error; dc_work->attr->stretch_blt_mode = COLORONCOLOR; release_dc_ptr( dc_work ); ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8988#note_116101