iconvdata/utf-16.c accesses the buffer through casts to (uint16_t *). But the caller of iconv() is allowed to pass buffers at an odd address. On CPUs with strict alignment checking, like SPARC, this will give an alignment fault. utf-16.c should access the buffer byte after byte. Bruno