Lance Jackson : cmd: Fix some unclosed file and registry handles.

Alexandre Julliard julliard at winehq.org
Fri Jan 4 07:12:46 CST 2008


Module: wine
Branch: master
Commit: d56217e98e49dd7ca89a4560a23d45b1d2bb7e39
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d56217e98e49dd7ca89a4560a23d45b1d2bb7e39

Author: Lance Jackson <lancej at lancej.net>
Date:   Thu Jan  3 18:03:44 2008 -0600

cmd: Fix some unclosed file and registry handles.

---

 programs/cmd/batch.c    |    4 +---
 programs/cmd/builtins.c |    2 +-
 programs/cmd/wcmdmain.c |    2 ++
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/programs/cmd/batch.c b/programs/cmd/batch.c
index 1d12706..15057b3 100644
--- a/programs/cmd/batch.c
+++ b/programs/cmd/batch.c
@@ -70,9 +70,7 @@ void WCMD_batch (WCHAR *file, WCHAR *command, int called, WCHAR *startLabel, HAN
       strcpyW (string, file);
       CharLower (string);
       if (strstrW (string, extension_exe) == NULL) strcatW (string, extension_exe);
-      h = CreateFile (string, GENERIC_READ, FILE_SHARE_READ,
-                      NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
-      if (h != INVALID_HANDLE_VALUE) {
+      if (GetFileAttributes (string) != INVALID_FILE_ATTRIBUTES) {
         WCMD_run_program (command, 0);
       } else {
         SetLastError (ERROR_FILE_NOT_FOUND);
diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 43f63f6..549795c 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -2598,11 +2598,11 @@ void WCMD_assoc (WCHAR *command, BOOL assoc) {
                 WCMD_output_asis(keyValue);
               }
               WCMD_output_asis(newline);
+              RegCloseKey(readKey);
             }
           }
         }
       }
-      RegCloseKey(readKey);
 
     } else {
 
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index 52a3108..16a0991 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -377,6 +377,7 @@ int wmain (int argc, WCHAR *argvW[])
                   value = strtoulW(strvalue, NULL, 10);
               }
           }
+          RegCloseKey(key);
       }
 
       if (value == 0 && RegOpenKeyEx(HKEY_LOCAL_MACHINE, regKeyW,
@@ -397,6 +398,7 @@ int wmain (int argc, WCHAR *argvW[])
                   value = strtoulW(strvalue, NULL, 10);
               }
           }
+          RegCloseKey(key);
       }
 
       /* If one found, set the screen to that colour */




More information about the wine-cvs mailing list