Marcus Meissner : scrrun: Added missing FindClose in error case (Coverity).

Alexandre Julliard julliard at winehq.org
Mon Aug 19 14:32:59 CDT 2013


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

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Sat Aug 17 09:37:04 2013 +0200

scrrun: Added missing FindClose in error case (Coverity).

---

 dlls/scrrun/filesystem.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/scrrun/filesystem.c b/dlls/scrrun/filesystem.c
index 19f5f2b..2750108 100644
--- a/dlls/scrrun/filesystem.c
+++ b/dlls/scrrun/filesystem.c
@@ -1375,8 +1375,10 @@ static inline HRESULT delete_file(const WCHAR *file, DWORD file_len, VARIANT_BOO
         return create_error(GetLastError());
 
     len = get_parent_folder_name(file, file_len);
-    if(len+1 >= MAX_PATH)
+    if(len+1 >= MAX_PATH) {
+        FindClose(f);
         return E_FAIL;
+    }
     if(len) {
         memcpy(path, file, len*sizeof(WCHAR));
         path[len++] = '\\';
@@ -1432,8 +1434,10 @@ static HRESULT delete_folder(const WCHAR *folder, DWORD folder_len, VARIANT_BOOL
         return create_error(GetLastError());
 
     len = get_parent_folder_name(folder, folder_len);
-    if(len+1 >= MAX_PATH)
+    if(len+1 >= MAX_PATH) {
+        FindClose(f);
         return E_FAIL;
+    }
     if(len) {
         memcpy(path, folder, len*sizeof(WCHAR));
         path[len++] = '\\';
@@ -1547,8 +1551,10 @@ static inline HRESULT copy_file(const WCHAR *source, DWORD source_len,
     }
 
     dst_len = destination_len;
-    if(dst_len+1 >= MAX_PATH)
+    if(dst_len+1 >= MAX_PATH) {
+        FindClose(f);
         return E_FAIL;
+    }
     memcpy(dst_path, destination, dst_len*sizeof(WCHAR));
     if(dst_path[dst_len-1]!= '\\' && dst_path[dst_len-1]!='/')
         dst_path[dst_len++] = '\\';




More information about the wine-cvs mailing list