From 1b30e6879819256497d24b46934558166fee5682 Mon Sep 17 00:00:00 2001 From: Cyril Bur Date: Mon, 24 Aug 2015 13:31:16 +1000 Subject: libflash/blocklevel: Fix blocklevel read ECC failure return code If an ECC check fails in blocklevel_read(), the return code from blocklevel_read() won't be correct. Signed-off-by: Cyril Bur Signed-off-by: Stewart Smith --- libflash/blocklevel.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libflash') diff --git a/libflash/blocklevel.c b/libflash/blocklevel.c index e97859c8..90bfffb0 100644 --- a/libflash/blocklevel.c +++ b/libflash/blocklevel.c @@ -82,7 +82,10 @@ int blocklevel_read(struct blocklevel_device *bl, uint32_t pos, void *buf, uint3 if (rc) goto out; - rc = memcpy_from_ecc(buf, buffer, len); + if (memcpy_from_ecc(buf, buffer, len)) { + errno = EBADF; + rc = FLASH_ERR_ECC_INVALID; + } out: free(buffer); -- cgit v1.2.1