From 4a71e9a2bc940f5ffb33361fd15d124009934802 Mon Sep 17 00:00:00 2001 From: Dmitry Chapyshev Date: Thu, 22 Sep 2016 21:39:25 +0000 Subject: [PATCH] [SETUPAPI] Implement freeing memory in SetupDiDestroyClassImageList function. Based on patch from CircularTriangle06. Thanks! See CORE-11668 svn path=/trunk/; revision=72777 --- reactos/dll/win32/setupapi/devclass.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/setupapi/devclass.c b/reactos/dll/win32/setupapi/devclass.c index 1e2a734320b..2afeae2f30c 100644 --- a/reactos/dll/win32/setupapi/devclass.c +++ b/reactos/dll/win32/setupapi/devclass.c @@ -101,10 +101,17 @@ SetupDiDestroyClassImageList( SetLastError(ERROR_INVALID_USER_BUFFER); else { - //DestroyIcon() - //ImageList_Destroy(); - FIXME("Stub %p\n", ClassImageListData); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + /* If Reserved wasn't NULL, then this is valid too */ + if (ClassImageListData->ImageList) + { + ImageList_Destroy(ClassImageListData->ImageList); + ClassImageListData->ImageList = NULL; + } + + MyFree(list); + ClassImageListData->Reserved = 0; + + ret = TRUE; } TRACE("Returning %d\n", ret);