[PATCH] ver: curdirlen and destdirlen are in&out parameters (Coverity)

Marcus Meissner marcus at jet.franken.de
Sun May 26 08:49:42 CDT 2013


Both are in/out parameters, so handle them like this.

CID 713991 Uninitialized scalar variable
CID 713992 Uninitialized scalar variable

Ciao, Marcus
---
 dlls/ver.dll16/version.c |   20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/dlls/ver.dll16/version.c b/dlls/ver.dll16/version.c
index 45b9277..5e6692f 100644
--- a/dlls/ver.dll16/version.c
+++ b/dlls/ver.dll16/version.c
@@ -494,11 +494,23 @@ DWORD WINAPI VerFindFile16( UINT16 flags, LPSTR lpszFilename,
                             LPSTR lpszDestDir, UINT16 *lpuDestDirLen )
 {
     UINT curDirLen, destDirLen;
-    DWORD retv = VerFindFileA( flags, lpszFilename, lpszWinDir, lpszAppDir,
-                                 lpszCurDir, &curDirLen, lpszDestDir, &destDirLen );
+    UINT *pcurDirLen = NULL, *pdestDirLen = NULL;
+    DWORD retv;
 
-    *lpuCurDirLen = (UINT16)curDirLen;
-    *lpuDestDirLen = (UINT16)destDirLen;
+    if (lpuCurDirLen) {
+        curDirLen = *lpuCurDirLen;
+        pcurDirLen = &curDirLen;
+    }
+    if (lpuDestDirLen) {
+        destDirLen = *lpuDestDirLen;
+        pdestDirLen = &destDirLen;
+    }
+    retv = VerFindFileA( flags, lpszFilename, lpszWinDir, lpszAppDir,
+                                lpszCurDir, pcurDirLen, lpszDestDir, pdestDirLen );
+    if (lpuCurDirLen)
+        *lpuCurDirLen = (UINT16)curDirLen;
+    if (lpuDestDirLen)
+        *lpuDestDirLen = (UINT16)destDirLen;
     return retv;
 }
 
-- 
1.7.10.4




More information about the wine-patches mailing list