Fix some infinite loops
@@ -436,7 +436,7 @@ bool PLY::DOM::ParseHeader (const char* pCur,const char** pCurOut,bool isBinary)
*pCurOut = pCur;
// parse all elements
- while (true)
+ while ((*pCur) != '\0')
{
// skip all comments
PLY::DOM::SkipComments(pCur,&pCur);
@@ -308,6 +308,7 @@ void STLImporter::LoadASCIIFile()
if (3 == curVertex) {
DefaultLogger::get()->error("STL: a facet with more than 3 vertices has been found");
+ ++sz;
}
else
@@ -326,8 +327,10 @@ void STLImporter::LoadASCIIFile()
break;
// else skip the whole identifier
- else while (!::IsSpaceOrNewLine(*sz)) {
- ++sz;
+ else {
+ do {
+ } while (!::IsSpaceOrNewLine(*sz));