Attention is currently required from: Patrick Georgi, Angel Pons.

Nico Huber would like build bot (Jenkins), Patrick Georgi and Angel Pons to review this change.

View Change

spi95: Check for success before using send_command's returned data

If the transfer failed, the data might be invalid.

Change-Id: I3ad9daa00a54e2a3954983cec91b6685f1a98880
Found-By: Coverity Scan #1405870
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/40970
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
---
M spi95.c
1 file changed, 20 insertions(+), 1 deletion(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/62/67862/1
diff --git a/spi95.c b/spi95.c
index ecb2c1d..976f99a 100644
--- a/spi95.c
+++ b/spi95.c
@@ -33,12 +33,15 @@
static const unsigned char cmd[ST_M95_RDID_OUTSIZE_MAX] = { ST_M95_RDID };
unsigned char readarr[ST_M95_RDID_INSIZE];
uint32_t id1, id2;
+ int ret;

uint32_t rdid_outsize = ST_M95_RDID_2BA_OUTSIZE; // 16 bit address
if (flash->chip->total_size * KiB > 64 * KiB)
rdid_outsize = ST_M95_RDID_3BA_OUTSIZE; // 24 bit address

- spi_send_command(flash, rdid_outsize, sizeof(readarr), cmd, readarr);
+ ret = spi_send_command(flash, rdid_outsize, sizeof(readarr), cmd, readarr);
+ if (ret)
+ return ret;

id1 = readarr[0]; // manufacture id
id2 = (readarr[1] << 8) | readarr[2]; // SPI family code + model id

To view, visit change 67862. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: 1.2.x
Gerrit-Change-Id: I3ad9daa00a54e2a3954983cec91b6685f1a98880
Gerrit-Change-Number: 67862
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Patrick Georgi <patrick@coreboot.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-Attention: Patrick Georgi <patrick@coreboot.org>
Gerrit-Attention: Angel Pons <th3fanbus@gmail.com>
Gerrit-MessageType: newchange