Nikolay Sivov : avifil32: Use matching buffer length for dest string ( Coverity).

Alexandre Julliard julliard at wine.codeweavers.com
Fri Mar 11 07:55:45 CST 2016


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Mar 10 12:26:57 2016 +0300

avifil32: Use matching buffer length for dest string (Coverity).

Reported issue is about potential overflow when copying to fixed size
buffer from larger source buffer

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/avifil32/api.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/dlls/avifil32/api.c b/dlls/avifil32/api.c
index 7232450..0715d58 100644
--- a/dlls/avifil32/api.c
+++ b/dlls/avifil32/api.c
@@ -1036,14 +1036,16 @@ HRESULT WINAPI AVIBuildFilterW(LPWSTR szFilter, LONG cbFilter, BOOL fSaving)
     return AVIERR_ERROR;
   }
   for (n = 0;RegEnumKeyW(hKey, n, szFileExt, sizeof(szFileExt)/sizeof(szFileExt[0])) == ERROR_SUCCESS;n++) {
+    WCHAR clsidW[40];
+
     /* get CLSID to extension */
-    size = sizeof(szValue);
-    if (RegQueryValueW(hKey, szFileExt, szValue, &size) != ERROR_SUCCESS)
+    size = sizeof(clsidW);
+    if (RegQueryValueW(hKey, szFileExt, clsidW, &size) != ERROR_SUCCESS)
       break;
 
     /* search if the CLSID is already known */
     for (i = 1; i <= count; i++) {
-      if (lstrcmpW(lp[i].szClsid, szValue) == 0)
+      if (lstrcmpW(lp[i].szClsid, clsidW) == 0)
 	break; /* a new one */
     }
 
@@ -1058,7 +1060,7 @@ HRESULT WINAPI AVIBuildFilterW(LPWSTR szFilter, LONG cbFilter, BOOL fSaving)
 	break;
       }
 
-      lstrcpyW(lp[i].szClsid, szValue);
+      lstrcpyW(lp[i].szClsid, clsidW);
 
       count++;
     }




More information about the wine-cvs mailing list