Chromium Code Reviews| Index: lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp |
| diff --git a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp |
| index 8b8e9072a877a65c90b20a49847815d08669417f..1052707b03320882251d0d187b13aca6aafa5eeb 100644 |
| --- a/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp |
| +++ b/lib/Bitcode/NaCl/Reader/NaClBitcodeReader.cpp |
| @@ -986,7 +986,7 @@ bool NaClBitcodeReader::ParseBitcodeInto(Module *M) { |
| M->setDataLayout("e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" |
| "f32:32:32-f64:64:64-p:32:32:32-v128:32:32"); |
| - if (InitStream()) return Error(Header.Unsupported()); |
| + if (InitStream()) return true; // InitSream will set the error string. |
| // We expect a number of well-defined blocks, though we don't necessarily |
| // need to understand them all. |
| @@ -1758,7 +1758,8 @@ bool NaClBitcodeReader::InitStreamFromBuffer() { |
| StreamFile.reset(new NaClBitstreamReader(BufPtr, BufEnd)); |
| Stream.init(*StreamFile); |
| - return AcceptHeader(); |
| + if (AcceptHeader()) |
|
jvoung (off chromium)
2013/09/09 23:47:53
Not quite sure the difference in when "return Erro
Derek Schuff
2013/09/10 18:40:23
Error just sets a field that will be read later. B
|
| + return Error(Header.Unsupported()); |
| } |
| bool NaClBitcodeReader::InitLazyStream() { |
| @@ -1768,7 +1769,8 @@ bool NaClBitcodeReader::InitLazyStream() { |
| StreamFile.reset(new NaClBitstreamReader(Bytes, Header.getHeaderSize())); |
| Stream.init(*StreamFile); |
| - return AcceptHeader(); |
| + if (AcceptHeader()) |
| + return Error(Header.Unsupported()); |
| } |
| //===----------------------------------------------------------------------===// |