[llvm] 1de173c - [X86][FPEnv] Fix a use after free

Benjamin Kramer via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 11 04:02:33 PDT 2020


Author: Benjamin Kramer
Date: 2020-08-11T13:00:47+02:00
New Revision: 1de173c049841e0c3262ffbf416dba006500a140

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

LOG: [X86][FPEnv] Fix a use after free

Found by asan!

Added: 
    

Modified: 
    llvm/lib/IR/AutoUpgrade.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/IR/AutoUpgrade.cpp b/llvm/lib/IR/AutoUpgrade.cpp
index dddacd9489e7..b3896823fcd0 100644
--- a/llvm/lib/IR/AutoUpgrade.cpp
+++ b/llvm/lib/IR/AutoUpgrade.cpp
@@ -3761,7 +3761,7 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
     NewCall = Builder.CreateCall(NewFn, Args);
     Value *Res = ApplyX86MaskOn1BitsVec(Builder, NewCall, nullptr);
 
-    StringRef Name = CI->getName();
+    std::string Name(CI->getName());
     if (!Name.empty()) {
       CI->setName(Name + ".old");
       NewCall->setName(Name);


        


More information about the llvm-commits mailing list