--- branches/new_design/OOPSE-3.0/src/utils/StreamTokenizer.cpp 2004/11/12 22:28:35 1736 +++ branches/new_design/OOPSE-3.0/src/utils/StreamTokenizer.cpp 2004/11/12 22:44:03 1737 @@ -14,7 +14,10 @@ string StreamTokenizer::next() { ii(result, result.begin()); while(isDelimiter(*p) && p != end) p++; - while (!isDelimiter(*p) && p != end) + + // There is a bug here, if p is equal to end at this point, dereference it is a undefine behavior + //while (!isDelimiter(*p) && p != end) + while (p != end && !isDelimiter(*p)) *ii++ = *p++; } return result;