summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorRichard Spiegel <richard.spiegel@amd.corp-partner.google.com>2018-08-07 16:41:02 -0700
committerMartin Roth <martinroth@google.com>2018-08-09 15:47:26 +0000
commitd87a9b8e67105b29e0f54b99e4322c4090a925c4 (patch)
tree23635becfa26e4ec2469a085b4dbf53af3f4f4bc /src/drivers
parent5e9785d6e4ff4fd0b3f47afd3ef835ebe5347836 (diff)
drivers/spi/spi_flash.c: Check input parameter
In procedure spi_flash_cmd_erase(), parameter "len" is not validated and could lead to the return of an invalid (non-initialized) value. Validate the parameter early on. BUG=b:112253891 TEST=Build and boot grunt. Change-Id: I0b5129a15c9e0ea45f4dba4ab0729196cb64699b Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com> Reviewed-on: https://review.coreboot.org/27952 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/spi/spi_flash.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/spi/spi_flash.c b/src/drivers/spi/spi_flash.c
index 9cb10855fa..f2714791db 100644
--- a/src/drivers/spi/spi_flash.c
+++ b/src/drivers/spi/spi_flash.c
@@ -206,6 +206,10 @@ int spi_flash_cmd_erase(const struct spi_flash *flash, u32 offset, size_t len)
printk(BIOS_WARNING, "SF: Erase offset/length not multiple of erase size\n");
return -1;
}
+ if (len == 0) {
+ printk(BIOS_WARNING, "SF: Erase length cannot be 0\n");
+ return -1;
+ }
cmd[0] = flash->erase_cmd;
start = offset;