diff -up aspell-0.60.5/common/convert.cpp.zero aspell-0.60.5/common/convert.cpp
--- aspell-0.60.5/common/convert.cpp.zero 2006-11-18 09:36:01.000000000 +0100
+++ aspell-0.60.5/common/convert.cpp 2008-05-29 13:13:03.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));