diff options
author | Richard Spiegel <richard.spiegel@amd.corp-partner.google.com> | 2018-08-07 16:41:02 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-08-09 15:47:26 +0000 |
commit | d87a9b8e67105b29e0f54b99e4322c4090a925c4 (patch) | |
tree | 23635becfa26e4ec2469a085b4dbf53af3f4f4bc /src | |
parent | 5e9785d6e4ff4fd0b3f47afd3ef835ebe5347836 (diff) | |
download | coreboot-d87a9b8e67105b29e0f54b99e4322c4090a925c4.tar.xz |
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')
-rw-r--r-- | src/drivers/spi/spi_flash.c | 4 |
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; |