[clang] c1394af - Don't call memcpy(p, 0, 0).
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 13 00:51:46 PST 2020
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;
}
More information about the cfe-commits
mailing list