[LLVMdev] Dereferencing NULL pointer in IndVarSimplify.cpp?
Liang Wang
netcasper at gmail.com
Fri Oct 17 17:21:12 PDT 2014
Hi,
Here is the code in IndVarSimplify.cpp.
SmallVector<WeakVH, 16> DeadInsts;
while (!DeadInsts.empty())
if (Instruction *Inst =
dyn_cast_or_null<Instruction>(&*DeadInsts.pop_back_val()))
RecursivelyDeleteTriviallyDeadInstructions(Inst, TLI);
Since DeadInsts.pop_back_val() is WeakVH which could hold a NULL
pointer, the expression, &*DeadInsts.pop_back_val(), could be &*NULL.
Then NULL pointer is dereferenced here.
I wrote a small test case and it works just fine. But is this a
well-defined behavior in the standard?
Thanks,
Liang
More information about the llvm-dev
mailing list