Fixed bug when allocating a ValueStateImpl object in getPersistentState()
using the bump-pointer allocator and a placed new; we accidentally allocated
a ValueStateImpl* instead, causing an overrun when we did a placed new().
llvm-svn: 46793
diff --git a/clang/Analysis/ValueState.cpp b/clang/Analysis/ValueState.cpp
index 418b06e..00b6607 100644
--- a/clang/Analysis/ValueState.cpp
+++ b/clang/Analysis/ValueState.cpp
@@ -227,7 +227,7 @@
if (ValueStateImpl* I = StateSet.FindNodeOrInsertPos(ID, InsertPos))
return I;
- ValueStateImpl* I = (ValueStateImpl*) Alloc.Allocate<ValueState>();
+ ValueStateImpl* I = (ValueStateImpl*) Alloc.Allocate<ValueStateImpl>();
new (I) ValueStateImpl(State);
StateSet.InsertNode(I, InsertPos);
return I;