From ed07fc809c371825ade9cba99966c23b0f23e868 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 11 Dec 2023 12:33:57 +0100 Subject: [Bitcode] Add missing getValue() return value checks --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp') diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 9d7e838..98c5e94 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -5363,6 +5363,8 @@ Error BitcodeReader::parseFunctionBody(Function *F) { Type *TokenTy = Type::getTokenTy(Context); Value *ParentPad = getValue(Record, Idx++, NextValueNo, TokenTy, getVirtualTypeID(TokenTy), CurBB); + if (!ParentPad) + return error("Invalid record"); unsigned NumHandlers = Record[Idx++]; @@ -5404,6 +5406,8 @@ Error BitcodeReader::parseFunctionBody(Function *F) { Type *TokenTy = Type::getTokenTy(Context); Value *ParentPad = getValue(Record, Idx++, NextValueNo, TokenTy, getVirtualTypeID(TokenTy), CurBB); + if (!ParentPad) + return error("Invald record"); unsigned NumArgOperands = Record[Idx++]; -- cgit v1.1