Index: lib/Bitcode/NaCl/Analysis/NaClBitcodeAnalyzer.cpp |
diff --git a/lib/Bitcode/NaCl/Analysis/NaClBitcodeAnalyzer.cpp b/lib/Bitcode/NaCl/Analysis/NaClBitcodeAnalyzer.cpp |
index 3caab42e06d3067c258825071119ab50a6c9da48..b987125a2389334bad2c4696a758ae4529ad91cc 100644 |
--- a/lib/Bitcode/NaCl/Analysis/NaClBitcodeAnalyzer.cpp |
+++ b/lib/Bitcode/NaCl/Analysis/NaClBitcodeAnalyzer.cpp |
@@ -408,9 +408,10 @@ int AnalyzeBitcodeInBuffer(const std::unique_ptr<MemoryBuffer> &Buf, |
const unsigned char *BufPtr = (const unsigned char *)Buf->getBufferStart(); |
const unsigned char *EndBufPtr = BufPtr + Buf->getBufferSize(); |
+ const unsigned char *HeaderPtr = BufPtr; |
NaClBitcodeHeader Header; |
- if (Header.Read(BufPtr, EndBufPtr)) |
+ if (Header.Read(HeaderPtr, EndBufPtr)) |
return Error("Invalid PNaCl bitcode header"); |
if (!Header.IsSupported()) |
@@ -419,7 +420,7 @@ int AnalyzeBitcodeInBuffer(const std::unique_ptr<MemoryBuffer> &Buf, |
if (!Header.IsReadable()) |
Error("Bitcode file is not readable"); |
- NaClBitstreamReader StreamFile(BufPtr, EndBufPtr); |
+ NaClBitstreamReader StreamFile(BufPtr, EndBufPtr, Header); |
NaClBitstreamCursor Stream(StreamFile); |
unsigned NumTopBlocks = 0; |