Marcus Meissner : ver: curdirlen and destdirlen are in&out parameters ( Coverity).

Alexandre Julliard julliard at winehq.org
Tue May 28 15:16:59 CDT 2013


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

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Sun May 26 15:49:42 2013 +0200

ver: curdirlen and destdirlen are in&out parameters (Coverity).

---

 dlls/ver.dll16/version.c |   20 ++++++++++++++++----
 1 files 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;
 }
 




More information about the wine-cvs mailing list