| Index: lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
 | 
| diff --git a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
 | 
| index d356985c8e51ed97cf536a086969d964243dd464..c1fb4a84aa1e43f69db9317cd7a38470143cc4c1 100644
 | 
| --- a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
 | 
| +++ b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp
 | 
| @@ -1846,10 +1846,12 @@ std::error_code NaClBitcodeReader::InitStreamFromBuffer() {
 | 
|      return Error(InvalidBitstream,
 | 
|                   "Bitcode stream should be a multiple of 4 bytes in length");
 | 
|  
 | 
| -  if (Header.Read(BufPtr, BufEnd))
 | 
| +  const unsigned char *HeaderPtr = BufPtr;
 | 
| +  if (Header.Read(HeaderPtr, BufEnd))
 | 
|      return Error(InvalidBitstream, Header.Unsupported());
 | 
|  
 | 
| -  StreamFile.reset(new NaClBitstreamReader(BufPtr, BufEnd));
 | 
| +  StreamFile.reset(new NaClBitstreamReader(BufPtr, BufEnd,
 | 
| +                                           Header.getHeaderSize()));
 | 
|    Stream.init(StreamFile.get());
 | 
|  
 | 
|    if (AcceptHeader())
 | 
| 
 |