Avoid reading past EOF when encountering a malformed STL file

Since IsSpaceOrNewLine returns true on '\0' we might try to read past
end of buffer on line 310. Add explicit check to avoid this.
This commit is contained in:
Turo Lamminen
2015-08-10 15:48:26 +03:00
parent 295a9abbdc
commit b39446b7bb

View File

@@ -279,7 +279,7 @@ void STLImporter::LoadASCIIFile()
break;
}
// facet normal -0.13 -0.13 -0.98
if (!strncmp(sz,"facet",5) && IsSpaceOrNewLine(*(sz+5))) {
if (!strncmp(sz,"facet",5) && IsSpaceOrNewLine(*(sz+5)) && *(sz + 5) != '\0') {
if (3 != curVertex) {
DefaultLogger::get()->warn("STL: A new facet begins but the old is not yet complete");