fix clang AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete)