cmd/read.c: Fix checking blk_dread return value
authorTom Rini <trini@konsulko.com>
Tue, 15 Aug 2017 00:58:50 +0000 (20:58 -0400)
committerTom Rini <trini@konsulko.com>
Sun, 20 Aug 2017 13:54:30 +0000 (09:54 -0400)
The function blk_dread will return -ENOSYS on failure or on success the
number of blocks read, which must be the number asked to read (otherwise
it failed somewhere).  Correct this check.

Reported-by: Coverity (CID: 166335)
Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
cmd/read.c

index ecf925426fccc87a85734a4eff36a7ed323d5996..82c2d9ad994ed1800c9c757b915ba67a018b8251 100644 (file)
@@ -66,7 +66,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                return 1;
        }
 
-       if (blk_dread(dev_desc, offset + blk, cnt, addr) < 0) {
+       if (blk_dread(dev_desc, offset + blk, cnt, addr) != cnt) {
                printf("Error reading blocks\n");
                return 1;
        }