[PATCH 1/3] shell32: Avoid leaking icon handles.
Andrew Eikum
aeikum at codeweavers.com
Wed Apr 19 08:29:56 CDT 2017
FWIW you're mixing up indent style in a function that is mostly
consistently (if bizarrely) indented.
Andrew
On Wed, Apr 19, 2017 at 01:13:39PM +0100, Huw Davies wrote:
> Signed-off-by: Huw Davies <huw at codeweavers.com>
> ---
> dlls/shell32/iconcache.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c
> index c3284a27d6..7beb47967d 100644
> --- a/dlls/shell32/iconcache.c
> +++ b/dlls/shell32/iconcache.c
> @@ -305,10 +305,12 @@ static INT SIC_IconAppend (LPCWSTR sSourceFile, INT dwSourceIndex, HICON hSmallI
> * gets small/big icon by number from a file
> */
> static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags)
> -{ HICON hiconLarge=0;
> +{
> + HICON hiconLarge=0;
> HICON hiconSmall=0;
> HICON hiconLargeShortcut;
> HICON hiconSmallShortcut;
> + int ret;
>
> PrivateExtractIconsW( sSourceFile, dwSourceIndex, GetSystemMetrics(SM_CXICON),
> GetSystemMetrics(SM_CYICON), &hiconLarge, 0, 1, 0 );
> @@ -327,6 +329,8 @@ static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags)
> hiconSmallShortcut = SIC_OverlayShortcutImage(hiconSmall, FALSE);
> if (NULL != hiconLargeShortcut && NULL != hiconSmallShortcut)
> {
> + DestroyIcon( hiconLarge );
> + DestroyIcon( hiconSmall );
> hiconLarge = hiconLargeShortcut;
> hiconSmall = hiconSmallShortcut;
> }
> @@ -339,8 +343,12 @@ static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags)
> }
> }
>
> - return SIC_IconAppend (sSourceFile, dwSourceIndex, hiconSmall, hiconLarge, dwFlags);
> + ret = SIC_IconAppend( sSourceFile, dwSourceIndex, hiconSmall, hiconLarge, dwFlags );
> + DestroyIcon( hiconLarge );
> + DestroyIcon( hiconSmall );
> + return ret;
> }
> +
> /*****************************************************************************
> * SIC_Initialize [internal]
> */
> --
> 2.12.0
>
>
>
More information about the wine-patches
mailing list