[PATCH] shell32: Check array index limit first.

Andrey Gusev andrey.goosev at gmail.com
Mon May 14 06:20:35 CDT 2018


Signed-off-by: Andrey Gusev <andrey.goosev at gmail.com>
---
 dlls/shell32/shelllink.c | 2 +-
 dlls/shell32/xdg.c       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/shell32/shelllink.c b/dlls/shell32/shelllink.c
index 07c83d151c..0380ac9e7a 100644
--- a/dlls/shell32/shelllink.c
+++ b/dlls/shell32/shelllink.c
@@ -613,7 +613,7 @@ static LPWSTR Stream_LoadPath( LPCSTR p, DWORD maxlen )
     int len = 0, wlen;
     LPWSTR path;
 
-    while( p[len] && (len < maxlen) )
+    while( (len < maxlen) && p[len] )
         len++;
 
     wlen = MultiByteToWideChar(CP_ACP, 0, p, len, NULL, 0);
diff --git a/dlls/shell32/xdg.c b/dlls/shell32/xdg.c
index 622ef34623..781902a238 100644
--- a/dlls/shell32/xdg.c
+++ b/dlls/shell32/xdg.c
@@ -341,7 +341,7 @@ static int dskentry_decode(const char *value, int len, char *output)
     while (pos<len)
     {
         char c;
-        if (value[pos] == '\\' && pos<len-1)
+        if (pos<len-1 && value[pos] == '\\')
         {
             pos++;
             switch (value[pos])
-- 
2.14.3




More information about the wine-devel mailing list