alloc-dealloc mismatch bug fixed