fix segfault bug