Author: Richard Smith Date: 2020-02-13T00:51:12-08:00 New Revision: c1394afb8df6445b46f42546588f59668bd39ac6
URL: https://github.com/llvm/llvm-project/commit/c1394afb8df6445b46f42546588f59668bd39ac6 DIFF: https://github.com/llvm/llvm-project/commit/c1394afb8df6445b46f42546588f59668bd39ac6.diff LOG: Don't call memcpy(p, 0, 0). Found by UBSan, reported by Kostya. Thanks! Added: Modified: clang/lib/AST/NestedNameSpecifier.cpp Removed: ################################################################################ diff --git a/clang/lib/AST/NestedNameSpecifier.cpp b/clang/lib/AST/NestedNameSpecifier.cpp index 81130512bfe1..06008b2f32ac 100644 --- a/clang/lib/AST/NestedNameSpecifier.cpp +++ b/clang/lib/AST/NestedNameSpecifier.cpp @@ -482,9 +482,11 @@ static void Append(char *Start, char *End, char *&Buffer, unsigned &BufferSize, (unsigned)(BufferCapacity ? BufferCapacity * 2 : sizeof(void *) * 2), (unsigned)(BufferSize + (End - Start))); char *NewBuffer = static_cast<char *>(llvm::safe_malloc(NewCapacity)); - memcpy(NewBuffer, Buffer, BufferSize); - if (BufferCapacity) - free(Buffer); + if (Buffer) { + memcpy(NewBuffer, Buffer, BufferSize); + if (BufferCapacity) + free(Buffer); + } Buffer = NewBuffer; BufferCapacity = NewCapacity; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits