[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