From 2af9e7dfacc582d385bcf858865ea11d4845cef8 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Mon, 16 Dec 2019 20:37:23 +0900 Subject: [PATCH] [USER32] Add ICO_ExtractIconExW RetPtr NULL check (#2149) CORE-16557 --- win32ss/user/user32/misc/exticon.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/win32ss/user/user32/misc/exticon.c b/win32ss/user/user32/misc/exticon.c index d3e18b08915..ba2bd6d6b2c 100644 --- a/win32ss/user/user32/misc/exticon.c +++ b/win32ss/user/user32/misc/exticon.c @@ -469,17 +469,20 @@ static UINT ICO_ExtractIconExW( icon = CreateIconFromResourceEx(imageData, entry->icHeader.biSizeImage, sig == 1, 0x00030000, cx[index], cy[index], flags); + HeapFree(GetProcessHeap(), 0, cursorData); + if (icon) { - RetPtr[index] = icon; - iconCount = 1; - } + if (RetPtr) + RetPtr[index] = icon; + else + DestroyIcon(icon); - if(cursorData != NULL) - HeapFree(GetProcessHeap(), 0, cursorData); + iconCount = 1; + break; + } } } - } ret = iconCount; /* return number of retrieved icons */ }