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