[clang] a457067 - [NFC][clang] Fix static analyzer concerns

via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 28 05:35:16 PDT 2023


Author: Podchishchaeva, Mariya
Date: 2023-07-28T05:32:41-07:00
New Revision: a457067d2c6b3416233d67e280c9b73dc170da46

URL: https://github.com/llvm/llvm-project/commit/a457067d2c6b3416233d67e280c9b73dc170da46
DIFF: https://github.com/llvm/llvm-project/commit/a457067d2c6b3416233d67e280c9b73dc170da46.diff

LOG: [NFC][clang] Fix static analyzer concerns

IdentifierResolver frees resources in the destructor but doesn't
have user-written copy c'tor or assignment operator, so copying it using
default ones can cause double free.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D156406

Added: 
    

Modified: 
    clang/include/clang/Sema/IdentifierResolver.h

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Sema/IdentifierResolver.h b/clang/include/clang/Sema/IdentifierResolver.h
index 1fbd6c48e51806..557f513146406f 100644
--- a/clang/include/clang/Sema/IdentifierResolver.h
+++ b/clang/include/clang/Sema/IdentifierResolver.h
@@ -134,6 +134,9 @@ class IdentifierResolver {
   explicit IdentifierResolver(Preprocessor &PP);
   ~IdentifierResolver();
 
+  IdentifierResolver(const IdentifierResolver &) = delete;
+  IdentifierResolver &operator=(const IdentifierResolver &) = delete;
+
   /// Returns a range of decls with the name 'Name'.
   llvm::iterator_range<iterator> decls(DeclarationName Name);
 


        


More information about the cfe-commits mailing list