[llvm-commits] CVS: llvm/lib/Bytecode/Reader/Reader.cpp ReaderInternals.h
Chris Lattner
lattner at cs.uiuc.edu
Thu May 22 13:27:01 PDT 2003
Changes in directory llvm/lib/Bytecode/Reader:
Reader.cpp updated: 1.55 -> 1.56
ReaderInternals.h updated: 1.36 -> 1.37
---
Log message:
Do not assert fail or crash when a bytecode parse fails!
---
Diffs of the changes:
Index: llvm/lib/Bytecode/Reader/Reader.cpp
diff -u llvm/lib/Bytecode/Reader/Reader.cpp:1.55 llvm/lib/Bytecode/Reader/Reader.cpp:1.56
--- llvm/lib/Bytecode/Reader/Reader.cpp:1.55 Thu May 22 13:08:30 2003
+++ llvm/lib/Bytecode/Reader/Reader.cpp Thu May 22 13:26:48 2003
@@ -642,6 +642,7 @@
TheModule = new Module(ModuleID);
if (ParseModule(Buf, EndBuf)) {
+ freeState(); // Must destroy handles before deleting module!
delete TheModule;
TheModule = 0;
}
Index: llvm/lib/Bytecode/Reader/ReaderInternals.h
diff -u llvm/lib/Bytecode/Reader/ReaderInternals.h:1.36 llvm/lib/Bytecode/Reader/ReaderInternals.h:1.37
--- llvm/lib/Bytecode/Reader/ReaderInternals.h:1.36 Thu May 22 13:08:30 2003
+++ llvm/lib/Bytecode/Reader/ReaderInternals.h Thu May 22 13:26:48 2003
@@ -45,6 +45,9 @@
FirstDerivedTyID = Type::FirstDerivedTyID;
}
~BytecodeParser() {
+ freeState();
+ }
+ void freeState() {
freeTable(Values);
freeTable(LateResolveValues);
freeTable(ModuleValues);
More information about the llvm-commits
mailing list