Alexandre Julliard : msxml3: Only allow ASCII characters in number conversion.

Alexandre Julliard julliard at winehq.org
Fri Nov 27 16:04:38 CST 2020


Module: wine
Branch: master
Commit: a75cc9e6262af8efbbc553bfbdc3a928773fd618
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=a75cc9e6262af8efbbc553bfbdc3a928773fd618

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Nov 27 14:31:40 2020 +0100

msxml3: Only allow ASCII characters in number conversion.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msxml3/element.c   | 2 +-
 dlls/msxml3/nodelist.c  | 2 +-
 dlls/msxml3/nodemap.c   | 2 +-
 dlls/msxml3/selection.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index a352621bfb3..05255508d4e 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -520,7 +520,7 @@ static inline HRESULT variant_from_dt(XDR_DT dt, xmlChar* str, VARIANT* v)
                 if(*p == '.')
                 {
                     p++;
-                    while(isdigitW(*p)) p++;
+                    while (*p >= '0' && *p <= '9') p++;
                 }
             }
 
diff --git a/dlls/msxml3/nodelist.c b/dlls/msxml3/nodelist.c
index 2c1d10efb6a..57b8ea823c1 100644
--- a/dlls/msxml3/nodelist.c
+++ b/dlls/msxml3/nodelist.c
@@ -312,7 +312,7 @@ static HRESULT xmlnodelist_get_dispid(IUnknown *iface, BSTR name, DWORD flags, D
     WCHAR *ptr;
     int idx = 0;
 
-    for(ptr = name; *ptr && isdigitW(*ptr); ptr++)
+    for(ptr = name; *ptr >= '0' && *ptr <= '9'; ptr++)
         idx = idx*10 + (*ptr-'0');
     if(*ptr)
         return DISP_E_UNKNOWNNAME;
diff --git a/dlls/msxml3/nodemap.c b/dlls/msxml3/nodemap.c
index a9fef4769dc..5ea083c4495 100644
--- a/dlls/msxml3/nodemap.c
+++ b/dlls/msxml3/nodemap.c
@@ -371,7 +371,7 @@ static HRESULT xmlnodemap_get_dispid(IUnknown *iface, BSTR name, DWORD flags, DI
     WCHAR *ptr;
     int idx = 0;
 
-    for(ptr = name; *ptr && isdigitW(*ptr); ptr++)
+    for(ptr = name; *ptr >= '0' && *ptr <= '9'; ptr++)
         idx = idx*10 + (*ptr-'0');
     if(*ptr)
         return DISP_E_UNKNOWNNAME;
diff --git a/dlls/msxml3/selection.c b/dlls/msxml3/selection.c
index ede80627d7b..d05a1d6ffcb 100644
--- a/dlls/msxml3/selection.c
+++ b/dlls/msxml3/selection.c
@@ -595,7 +595,7 @@ static HRESULT domselection_get_dispid(IUnknown *iface, BSTR name, DWORD flags,
     WCHAR *ptr;
     int idx = 0;
 
-    for(ptr = name; *ptr && isdigitW(*ptr); ptr++)
+    for(ptr = name; *ptr >= '0' && *ptr <= '9'; ptr++)
         idx = idx*10 + (*ptr-'0');
     if(*ptr)
         return DISP_E_UNKNOWNNAME;




More information about the wine-cvs mailing list