[PATCH 5/5] Fix a find file handle leak

Nikolay Sivov bunglehead at gmail.com
Wed Dec 9 17:01:59 CST 2009


---
 dlls/comdlg32/filedlg.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/comdlg32/filedlg.c b/dlls/comdlg32/filedlg.c
index 908201d..f291690 100644
--- a/dlls/comdlg32/filedlg.c
+++ b/dlls/comdlg32/filedlg.c
@@ -1527,12 +1527,11 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
       if ( win98plus && handledPath == FALSE &&
            fodInfos->filter && *fodInfos->filter) {
 
-         BOOL   searchMore = TRUE;
          LPCWSTR lpstrPos = fodInfos->filter;
          WIN32_FIND_DATAW FindFileData;
-         HANDLE hFind;
+         HANDLE hFind = NULL;
 
-         while (searchMore)
+         while (1)
          {
            /* filter is a list...  title\0ext\0......\0\0 */
 
@@ -1550,7 +1549,6 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
                lpstrPos += lstrlenW(lpstrPos) + 1;
 
            } else {
-               searchMore = FALSE;
 
                MemFree(fodInfos->initdir);
                fodInfos->initdir = MemAlloc(MAX_PATH*sizeof(WCHAR));
@@ -1562,6 +1560,8 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
                break;
            }
          }
+
+         FindClose(hFind);
       }
 
       /* 5. Win2000+: FIXME: Next, Recently used? Not sure how windows does this */
-- 
1.5.6.5


--=-OAA6nyVYi3du5eR30K38--




More information about the wine-patches mailing list