]> git.saurik.com Git - wxWidgets.git/commitdiff
more strict UTF-8 validity checks, as it should be (patch #9847)
authorVáclav Slavík <vslavik@fastmail.fm>
Sat, 9 Aug 2008 21:38:21 +0000 (21:38 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sat, 9 Aug 2008 21:38:21 +0000 (21:38 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/stringops.cpp

index b4959f846cd7f35315d955b706b384641f7c1bc8..9ccd34d95cba6554e405d8e9094be392bf6c1bf1 100644 (file)
@@ -131,7 +131,16 @@ bool wxStringOperationsUtf8::IsValidUtf8String(const char *str, size_t len)
             if ( !(b >= 0x80 && b <= 0xBF ) )
                 return false;
         }
             if ( !(b >= 0x80 && b <= 0xBF ) )
                 return false;
         }
-        else if ( b <= 0xEF ) // E1..EF
+        else if ( b == 0xED )
+        {
+            b = *(++c);
+            if ( !(b >= 0x80 && b <= 0x9F ) )
+                return false;
+            b = *(++c);
+            if ( !(b >= 0x80 && b <= 0xBF ) )
+                return false;
+        }
+        else if ( b <= 0xEF ) // E1..EC EE..EF
         {
             for ( int i = 0; i < 2; ++i )
             {
         {
             for ( int i = 0; i < 2; ++i )
             {