[clang] 7ec7a6e - Fix "null pointer passed to nonnull argument" clang static analyzer warnings. NFCI.
Simon Pilgrim via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 14 06:01:09 PST 2020
Author: Simon Pilgrim
Date: 2020-01-14T14:00:36Z
New Revision: 7ec7a6e5bfa745c285d5c651af02b93f2cb923e1
URL: https://github.com/llvm/llvm-project/commit/7ec7a6e5bfa745c285d5c651af02b93f2cb923e1
DIFF: https://github.com/llvm/llvm-project/commit/7ec7a6e5bfa745c285d5c651af02b93f2cb923e1.diff
LOG: Fix "null pointer passed to nonnull argument" clang static analyzer warnings. NFCI.
Assert that the memcpy arguments are valid.
Added:
Modified:
clang/lib/AST/NestedNameSpecifier.cpp
Removed:
################################################################################
diff --git a/clang/lib/AST/NestedNameSpecifier.cpp b/clang/lib/AST/NestedNameSpecifier.cpp
index 09d85102585b..137953fa8203 100644
--- a/clang/lib/AST/NestedNameSpecifier.cpp
+++ b/clang/lib/AST/NestedNameSpecifier.cpp
@@ -472,7 +472,7 @@ TypeLoc NestedNameSpecifierLoc::getTypeLoc() const {
}
static void Append(char *Start, char *End, char *&Buffer, unsigned &BufferSize,
- unsigned &BufferCapacity) {
+ unsigned &BufferCapacity) {
if (Start == End)
return;
@@ -489,9 +489,9 @@ static void Append(char *Start, char *End, char *&Buffer, unsigned &BufferSize,
Buffer = NewBuffer;
BufferCapacity = NewCapacity;
}
-
+ assert(Buffer && Start && End && End > Start && "Illegal memory buffer copy");
memcpy(Buffer + BufferSize, Start, End - Start);
- BufferSize += End-Start;
+ BufferSize += End - Start;
}
/// Save a source location to the given buffer.
More information about the cfe-commits
mailing list