Work around a dangling pointer dereference when enumerating NamedMDNodes.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 31 Jul 2009 14:22:13 +0000 (14:22 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 31 Jul 2009 14:22:13 +0000 (14:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77675 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bitcode/Writer/ValueEnumerator.cpp

index cf4a8761cbca3f1392c1a620d2bdc04ea11982d6..7583bb96c9ec8c995fdc98e29c83cb763deec2e0 100644 (file)
@@ -227,6 +227,9 @@ void ValueEnumerator::EnumerateValue(const Value *V) {
       MetadataBase *M = *I;
       EnumerateValue(M);
     }
+    Values.push_back(std::make_pair(V, 1U));
+    ValueMap[V] = Values.size();
+    return;
   }
 
   // Add the value.