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));
