Bläddra i källkod

Merge pull request #1011 from leethomason/leethomason/charref2

Defensive check for UTF conversion
Lee Thomason 1 år sedan
förälder
incheckning
57ec94127b
1 ändrade filer med 5 tillägg och 0 borttagningar
  1. 5 0
      tinyxml2.cpp

+ 5 - 0
tinyxml2.cpp

@@ -545,6 +545,11 @@ const char* XMLUtil::GetCharacterRef(const char* p, char* value, int* length)
         }
         // convert the UCS to UTF-8
         ConvertUTF32ToUTF8(ucs, value, length);
+		if (length == 0) {
+            // If length is 0, there was an error. (Security? Bad input?)
+            // Fail safely.
+			return 0;
+		}
         return p + delta + 1;
     }
     return p + 1;