From 47c8938c7eb51d270ed6366bfc55f27670ce957e Mon Sep 17 00:00:00 2001 From: yeggor Date: Tue, 15 Nov 2022 18:47:42 +0400 Subject: [PATCH] Add additional check for entryHeader->Size in NvramParser::parseEvsaStoreBody to avoid uint32 underflow --- common/nvramparser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/nvramparser.cpp b/common/nvramparser.cpp index aa05115..f6d388a 100755 --- a/common/nvramparser.cpp +++ b/common/nvramparser.cpp @@ -1693,7 +1693,7 @@ USTATUS NvramParser::parseEvsaStoreBody(const UModelIndex & index) // Check entry size variableSize = sizeof(EVSA_ENTRY_HEADER); - if (unparsedSize < variableSize || unparsedSize < entryHeader->Size) { + if (unparsedSize < variableSize || unparsedSize < entryHeader->Size || entryHeader->Size < 2) { body = data.mid(offset); info = usprintf("Full size: %Xh (%u)", (UINT32)body.size(), (UINT32)body.size());