diff options
author | Edward O'Callaghan <quasisec@google.com> | 2022-09-20 14:22:48 +1000 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2022-09-27 00:25:14 +0000 |
commit | be0538f654935ea3986d5cc950bb4092a938111f (patch) | |
tree | 6e3e6662c2401246342d2b6b9745acfe276efc2d | |
parent | 7ed1337309d3fe74f5af09520970f0f1d417399a (diff) | |
download | flashrom-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>
-rw-r--r-- | layout.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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; |