segfault/memleak on incorrect data fixed