Thomas Faber : oleview: Avoid variable-length arrays.

Alexandre Julliard julliard at winehq.org
Tue Mar 25 14:27:43 CDT 2014


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

Author: Thomas Faber <thomas.faber at reactos.org>
Date:   Tue Mar 25 11:27:12 2014 +0100

oleview: Avoid variable-length arrays.

---

 programs/oleview/details.c |    8 ++++----
 programs/oleview/tree.c    |    6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/programs/oleview/details.c b/programs/oleview/details.c
index f7bb523..9fdd9f3 100644
--- a/programs/oleview/details.c
+++ b/programs/oleview/details.c
@@ -158,7 +158,7 @@ static void CreateRegRec(HKEY hKey, HTREEITEM parent, WCHAR *wszKeyName, BOOL ad
 
             RegCloseKey(hCurKey);
 
-            memmove(&wszData[6], wszData, sizeof(WCHAR[lenData]));
+            memmove(&wszData[6], wszData, lenData * sizeof(WCHAR));
             memcpy(wszData, wszCLSID, sizeof(WCHAR[6]));
             wszData[5] = '\\';
 
@@ -187,7 +187,7 @@ static void CreateRegRec(HKEY hKey, HTREEITEM parent, WCHAR *wszKeyName, BOOL ad
 
             RegCloseKey(hCurKey);
 
-            memmove(&wszData[8], wszData, sizeof(WCHAR[lenData]));
+            memmove(&wszData[8], wszData, lenData * sizeof(WCHAR));
             memcpy(wszData, wszTypeLib, sizeof(WCHAR[8]));
             wszData[7] = '\\';
             RegOpenKeyW(HKEY_CLASSES_ROOT, wszData, &hCurKey);
@@ -238,9 +238,9 @@ static void CreateReg(WCHAR *buffer)
             if(RegQueryValueW(hKey, NULL, wszTree, (LONG *)&lenTree) == ERROR_SUCCESS)
             {
                 memmove(&wszTree[lenBuffer-lastLenBuffer+3], wszTree,
-                        sizeof(WCHAR[lenTree]));
+                        lenTree * sizeof(WCHAR));
                 memcpy(wszTree, &buffer[lastLenBuffer],
-                        sizeof(WCHAR[lenBuffer-lastLenBuffer]));
+                        (lenBuffer - lastLenBuffer) * sizeof(WCHAR));
 
                 if(lenTree == 1) wszTree[lenBuffer-lastLenBuffer] = '\0';
                 else
diff --git a/programs/oleview/tree.c b/programs/oleview/tree.c
index 241c32c..34021e7 100644
--- a/programs/oleview/tree.c
+++ b/programs/oleview/tree.c
@@ -225,7 +225,7 @@ BOOL CreateRegPath(HTREEITEM item, WCHAR *buffer, int bufSize)
     int bufLen;
     BOOL ret;
 
-    memset(buffer, 0, sizeof(WCHAR[bufSize]));
+    memset(buffer, 0, bufSize * sizeof(WCHAR));
     memset(&tvi, 0, sizeof(TVITEMW));
     tvi.hItem = item;
 
@@ -239,8 +239,8 @@ BOOL CreateRegPath(HTREEITEM item, WCHAR *buffer, int bufSize)
         if(tvi.lParam && (((ITEM_INFO *)tvi.lParam)->cFlag & (REGPATH|REGTOP)))
         {
             bufLen = lstrlenW(((ITEM_INFO *)tvi.lParam)->info);
-            memmove(&buffer[bufLen], buffer, sizeof(WCHAR[bufSize-bufLen]));
-            memcpy(buffer, ((ITEM_INFO *)tvi.lParam)->info, sizeof(WCHAR[bufLen]));
+            memmove(&buffer[bufLen], buffer, (bufSize - bufLen) * sizeof(WCHAR));
+            memcpy(buffer, ((ITEM_INFO *)tvi.lParam)->info, bufLen * sizeof(WCHAR));
         }
 
         if(tvi.lParam && ((ITEM_INFO *)tvi.lParam)->cFlag & REGTOP) break;




More information about the wine-cvs mailing list