aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-12-11 12:33:57 +0100
committerNikita Popov <npopov@redhat.com>2023-12-11 12:37:05 +0100
commited07fc809c371825ade9cba99966c23b0f23e868 (patch)
tree5cf0c4d98246745cb0326e502b21de93935168a1 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent4648acbb6047afc4834560825c5a2bc6d6384e0d (diff)
downloadllvm-ed07fc809c371825ade9cba99966c23b0f23e868.zip
llvm-ed07fc809c371825ade9cba99966c23b0f23e868.tar.gz
llvm-ed07fc809c371825ade9cba99966c23b0f23e868.tar.bz2
[Bitcode] Add missing getValue() return value checks
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp4
1 files changed, 4 insertions, 0 deletions
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++];