summaryrefslogtreecommitdiffstats
path: root/layout.c
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2022-09-20 14:22:48 +1000
committerEdward O'Callaghan <quasisec@chromium.org>2022-09-27 00:25:14 +0000
commitbe0538f654935ea3986d5cc950bb4092a938111f (patch)
tree6e3e6662c2401246342d2b6b9745acfe276efc2d /layout.c
parent7ed1337309d3fe74f5af09520970f0f1d417399a (diff)
downloadflashrom-be0538f654935ea3986d5cc950bb4092a938111f.tar.gz
flashrom-be0538f654935ea3986d5cc950bb4092a938111f.tar.bz2
flashrom-be0538f654935ea3986d5cc950bb4092a938111f.zip
layout.c: Validate _layout_entry_by_name() arguments before use
It may be the case that a layout could not be derived which would result in layout logic being fed a NULL pointer. Validate this case and be defensive to validate the name argument as well. BUG=b:247055486 TEST=builds Change-Id: I2a19c0e586f8575b8b3c2c02b5afad312efacfc9 Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/67722 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Felix Singer <felixsinger@posteo.net>
Diffstat (limited to 'layout.c')
-rw-r--r--layout.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/layout.c b/layout.c
index 5916d66f5..0212699ab 100644
--- a/layout.c
+++ b/layout.c
@@ -58,6 +58,8 @@ static struct romentry *_layout_entry_by_name(
const struct flashrom_layout *const layout, const char *name)
{
struct romentry *entry = NULL;
+ if (!layout || !name)
+ return NULL;
while ((entry = mutable_layout_next(layout, entry))) {
if (!strcmp(entry->name, name))
return entry;