diff -up aspell-0.60.3/common/convert.cpp.crash aspell-0.60.3/common/convert.cpp --- aspell-0.60.3/common/convert.cpp.crash 2007-10-25 17:04:19.000000000 -0400 +++ aspell-0.60.3/common/convert.cpp 2007-10-25 17:05:11.000000000 -0400 @@ -814,7 +814,7 @@ namespace acommon { ToUniLookup lookup; void decode(const char * in, int size, FilterCharVector & out) const { const char * stop = in + size; // this is OK even if size == -1 - while (*in && in != stop) { + while (in != stop && *in) { out.append(from_utf8(in, stop)); } } @@ -822,7 +822,7 @@ namespace acommon { FilterCharVector & out, ParmStr orig) const { const char * begin = in; const char * stop = in + size; // this is OK even if size == -1 - while (*in && in != stop) { + while (in != stop && *in) { FilterChar c = from_utf8(in, stop, (Uni32)-1); if (c == (Uni32)-1) { char m[70];