[llvm] 56f967d - [Object] Prevent null pointer dereference in BigArchiveMemberHeader
Victor Campos via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 28 05:15:02 PDT 2022
Author: Victor Campos
Date: 2022-10-28T13:14:52+01:00
New Revision: 56f967db51fb3ba025bc00e7c3513549cf909da7
URL: https://github.com/llvm/llvm-project/commit/56f967db51fb3ba025bc00e7c3513549cf909da7
DIFF: https://github.com/llvm/llvm-project/commit/56f967db51fb3ba025bc00e7c3513549cf909da7.diff
LOG: [Object] Prevent null pointer dereference in BigArchiveMemberHeader
The pointer argument Err from BigArchiveMemberHeader's constructor can
be null. This pointer was dereferenced without any null checks.
This patch adds a check to avoid a null dereference.
Reviewed By: brenoguim
Differential Revision: https://reviews.llvm.org/D135449
Added:
Modified:
llvm/lib/Object/Archive.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp
index 1dffe007b9a9f..9c0f64346bb88 100644
--- a/llvm/lib/Object/Archive.cpp
+++ b/llvm/lib/Object/Archive.cpp
@@ -136,8 +136,11 @@ BigArchiveMemberHeader::BigArchiveMemberHeader(const Archive *Parent,
return;
ErrorAsOutParameter ErrAsOutParam(Err);
- if (Size < getSizeOf())
- *Err = createMemberHeaderParseError(this, RawHeaderPtr, Size);
+ if (Size < getSizeOf()) {
+ Error SubErr = createMemberHeaderParseError(this, RawHeaderPtr, Size);
+ if (Err)
+ *Err = std::move(SubErr);
+ }
}
// This gets the raw name from the ArMemHdr->Name field and checks that it is
More information about the llvm-commits
mailing list