Fix use-after-free error.
[oota-llvm.git] / include / llvm / Support / IRReader.h
index fe47c057558f68fbc4abc22ff9e9a323dc73d621..3da6e85e25c3f46f612e94bdf360e2bc32225c34 100644 (file)
@@ -79,10 +79,10 @@ namespace llvm {
                   (const unsigned char *)Buffer->getBufferEnd())) {
       std::string ErrMsg;
       Module *M = ParseBitcodeFile(Buffer, Context, &ErrMsg);
-      // ParseBitcodeFile does not take ownership of the Buffer.
-      delete Buffer;
       if (M == 0)
         Err = SMDiagnostic(Buffer->getBufferIdentifier(), ErrMsg);
+      // ParseBitcodeFile does not take ownership of the Buffer.
+      delete Buffer;
       return M;
     }