cmd: Fix some unclosed file and registry handles.
diff --git a/programs/cmd/batch.c b/programs/cmd/batch.c
index 1d12706..15057b35 100644
--- a/programs/cmd/batch.c
+++ b/programs/cmd/batch.c
@@ -70,9 +70,7 @@
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 @@
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 @@
value = strtoulW(strvalue, NULL, 10);
}
}
+ RegCloseKey(key);
}
if (value == 0 && RegOpenKeyEx(HKEY_LOCAL_MACHINE, regKeyW,
@@ -397,6 +398,7 @@
value = strtoulW(strvalue, NULL, 10);
}
}
+ RegCloseKey(key);
}
/* If one found, set the screen to that colour */