Felix Singer has submitted this change. ( https://review.coreboot.org/c/flashrom/+/67848 )
Change subject: linux_spi: Use fgets() to read buffer size ......................................................................
linux_spi: Use fgets() to read buffer size
Since fread() returns the number of bytes read, this currently will only check for errors if it returns 0 (i.e. the file was empty). However, it is possible for fread() to encounter an error after reading a few bytes, which this doesn't catch. Fix this by using fgets() instead, which will return NULL if EOF or an error is encountered, and is simpler anyway.
Change-Id: I4f37c70e97149b87c6344e63a57d11ddde7638c4 Signed-off-by: Jacob Garber jgarber1@ualberta.ca Found-by: Coverity CID 1403824 Reviewed-on: https://review.coreboot.org/c/flashrom/+/34848 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: David Hendricks david.hendricks@gmail.com Reviewed-on: https://review.coreboot.org/c/flashrom/+/67848 Reviewed-by: Felix Singer felixsinger@posteo.net --- M linux_spi.c 1 file changed, 23 insertions(+), 2 deletions(-)
Approvals: build bot (Jenkins): Verified Felix Singer: Looks good to me, approved
diff --git a/linux_spi.c b/linux_spi.c index 711ab4a..bcac8cb 100644 --- a/linux_spi.c +++ b/linux_spi.c @@ -138,8 +138,7 @@ }
char buf[10]; - memset(buf, 0, sizeof(buf)); - if (!fread(buf, 1, sizeof(buf) - 1, fp)) { + if (!fgets(buf, sizeof(buf), fp)) { if (feof(fp)) msg_pwarn("Cannot read %s: file is empty.\n", BUF_SIZE_FROM_SYSFS); else