[LLVMbugs] [Bug 2072] New: use-after-free in GVN
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Wed Feb 20 00:02:54 PST 2008
http://llvm.org/bugs/show_bug.cgi?id=2072
Summary: use-after-free in GVN
Product: new-bugs
Version: unspecified
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: baldrick at free.fr
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=1433)
--> (http://llvm.org/bugs/attachment.cgi?id=1433)
testcase .ll
$ valgrind opt use_after_free.bc -gvn
...
Invalid read of size 2
at 0x82D2A58: llvm::Value::getValueID() const (Value.h:208)
by 0x82D2ACC: bool llvm::isa_impl<llvm::Instruction,
llvm::Value>(llvm::Value const&) (Value.h:257)
by 0x82D3230: llvm::isa_impl_wrap<llvm::Instruction, llvm::Value const,
llvm::Value const>::doit(llvm::Value const&) (Casting.h:71)
by 0x82D3246: bool
llvm::isa_impl_cl<llvm::Value>::isa<llvm::Instruction>(llvm::Value const&)
(Casting.h:83)
by 0x82EE95E: bool llvm::isa_impl_cl<llvm::Value
const>::isa<llvm::Instruction>(llvm::Value const&) (Casting.h:92)
by 0x82EE974: bool llvm::isa_impl_cl<llvm::Value
const*>::isa<llvm::Instruction>(llvm::Value const*) (Casting.h:101)
by 0x82EE98C: bool llvm::isa<llvm::Instruction, llvm::Value
const*>(llvm::Value const* const&) (Casting.h:116)
by 0x82FE180: llvm::CallInst::classof(llvm::Value const*)
(Instructions.h:980)
by 0x82FE1C2: bool llvm::isa_impl<llvm::CallInst, llvm::Value>(llvm::Value
const&) (Casting.h:54)
by 0x82FE1D8: llvm::isa_impl_wrap<llvm::CallInst, llvm::Value const,
llvm::Value const>::doit(llvm::Value const&) (Casting.h:71)
by 0x82FE1EE: bool
llvm::isa_impl_cl<llvm::Value>::isa<llvm::CallInst>(llvm::Value const&)
(Casting.h:83)
by 0x82FE232: bool llvm::isa_impl_cl<llvm::Value
const>::isa<llvm::CallInst>(llvm::Value const&) (Casting.h:92)
Address 0x42d3f44 is 4 bytes inside a block of size 44 free'd
at 0x402231C: operator delete(void*) (vg_replace_malloc.c:342)
by 0x8556D6A: llvm::CallInst::~CallInst() (Instructions.cpp:239)
by 0x83012D0: llvm::iplist<llvm::Instruction,
llvm::ilist_traits<llvm::Instruction>
>::erase(llvm::ilist_iterator<llvm::Instruction>) (ilist:368)
by 0x8547494: llvm::Instruction::eraseFromParent() (Instruction.cpp:68)
by 0x8364649: (anonymous
namespace)::GVN::iterateOnFunction(llvm::Function&) (GVN.cpp:1342)
by 0x8364733: (anonymous namespace)::GVN::runOnFunction(llvm::Function&)
(GVN.cpp:1295)
by 0x856C52B: llvm::FPPassManager::runOnFunction(llvm::Function&)
(PassManager.cpp:1184)
by 0x856C6CD: llvm::FPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1204)
by 0x856C201: llvm::MPPassManager::runOnModule(llvm::Module&)
(PassManager.cpp:1254)
by 0x856C3B9: llvm::PassManagerImpl::run(llvm::Module&)
(PassManager.cpp:1328)
by 0x856C40B: llvm::PassManager::run(llvm::Module&) (PassManager.cpp:1360)
by 0x82E017E: main (opt.cpp:426)
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list