diff -up aspell-0.60.6/common/convert.cpp.zero aspell-0.60.6/common/convert.cpp --- aspell-0.60.6/common/convert.cpp.zero 2007-12-03 07:55:45.000000000 +0100 +++ aspell-0.60.6/common/convert.cpp 2008-09-01 12:04:39.000000000 +0200 @@ -813,6 +813,7 @@ namespace acommon { { ToUniLookup lookup; void decode(const char * in, int size, FilterCharVector & out) const { + if (size == 0) return; // if size == 0 then while loop cause SIGSEGV const char * stop = in + size; // this is OK even if size == -1 while (*in && in != stop) { out.append(from_utf8(in, stop));