https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77567
Bug ID: 77567 Summary: ASAN: Bugus error "alloc-dealloc-mismatch (malloc vs operator delete [])" with C++17's over-aligned types Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, jason at gcc dot gnu.org, kcc at gcc dot gnu.org Target Milestone: --- In my understanding, the following is valid C++17: #include <new> int main() { char *c = new(std::align_val_t(512), std::nothrow) char[1024]; delete[] c; return 0; } However, compiling with "g++ -fsanitize=address -std=c++17 test.cc" shows at run time: ==16736==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete []) on 0x61b00001f200