fix SIGSEGV