[SHELL32]
authorThomas Faber <thomas.faber@reactos.org>
Mon, 8 May 2017 10:59:27 +0000 (10:59 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Mon, 8 May 2017 10:59:27 +0000 (10:59 +0000)
- Avoid leaking the list items on destruction of CEnumIDListBase
CORE-13194

svn path=/trunk/; revision=74498

reactos/dll/win32/shell32/CEnumIDListBase.cpp
reactos/dll/win32/shell32/CEnumIDListBase.h

index 50facd5..bbf5435 100644 (file)
 
 WINE_DEFAULT_DEBUG_CHANNEL(shell);
 
-CEnumIDListBase::CEnumIDListBase()
+CEnumIDListBase::CEnumIDListBase() :
+    mpFirst(NULL),
+    mpLast(NULL),
+    mpCurrent(NULL)
 {
-    mpFirst = NULL;
-    mpLast = NULL;
-    mpCurrent = NULL;
 }
 
 CEnumIDListBase::~CEnumIDListBase()
 {
+    DeleteList();
 }
 
 /**************************************************************************
index 8dc1b4d..5a8a366 100644 (file)
@@ -33,7 +33,7 @@ private:
        ENUMLIST                                *mpCurrent;
 public:
        CEnumIDListBase();
-       ~CEnumIDListBase();
+       virtual ~CEnumIDListBase();
        BOOL AddToEnumList(LPITEMIDLIST pidl);
        BOOL DeleteList();
        BOOL HasItemWithCLSID(LPITEMIDLIST pidl);