Do not assert fail or crash when a bytecode parse fails!

llvm-svn: 6284
diff --git a/llvm/lib/Bytecode/Reader/Reader.cpp b/llvm/lib/Bytecode/Reader/Reader.cpp
index 7c0e6d4..1a7e3d5 100644
--- a/llvm/lib/Bytecode/Reader/Reader.cpp
+++ b/llvm/lib/Bytecode/Reader/Reader.cpp
@@ -642,6 +642,7 @@
 
   TheModule = new Module(ModuleID);
   if (ParseModule(Buf, EndBuf)) {
+    freeState();       // Must destroy handles before deleting module!
     delete TheModule;
     TheModule = 0;
   }