diff options
-rw-r--r-- | src/cold-flash.c | 6 | ||||
-rw-r--r-- | src/fiasco.c | 4 | ||||
-rw-r--r-- | src/image.c | 1 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/cold-flash.c b/src/cold-flash.c index ac68cfa..c2c69ff 100644 --- a/src/cold-flash.c +++ b/src/cold-flash.c @@ -128,7 +128,7 @@ struct xloader_msg xloader_msg_create(uint32_t type, struct image * image) { if ( need > sizeof(buffer) ) need = sizeof(buffer); ret = image_read(image, buffer, need); - if ( ret < 0 ) + if ( ret == 0 ) break; msg.crc1 = crc32(buffer, ret, msg.crc1); readed += ret; @@ -188,7 +188,7 @@ static int send_2nd(usb_dev_handle * udev, struct image * image) { if ( need > sizeof(buffer) ) need = sizeof(buffer); ret = image_read(image, buffer, need); - if ( ret < 0 ) + if ( ret == 0 ) break; if ( usb_bulk_write(udev, WRITE_DEV, (char *)buffer, ret, WRITE_TIMEOUT) != ret ) ERROR_RETURN("Sending 2nd X-Loader image failed", -1); @@ -230,7 +230,7 @@ static int send_secondary(usb_dev_handle * udev, struct image * image) { if ( need > sizeof(buffer) ) need = sizeof(buffer); ret = image_read(image, buffer, need); - if ( ret < 0 ) + if ( ret == 0 ) break; if ( usb_bulk_write(udev, WRITE_DEV, (char *)buffer, ret, WRITE_TIMEOUT) != ret ) ERROR_RETURN("Sending Secondary image failed", -1); diff --git a/src/fiasco.c b/src/fiasco.c index 1a0c53d..38accb2 100644 --- a/src/fiasco.c +++ b/src/fiasco.c @@ -457,7 +457,7 @@ int fiasco_write_to_file(struct fiasco * fiasco, const char * file) { image_seek(image, 0); while ( 1 ) { size = image_read(image, buf, sizeof(buf)); - if ( size < 1 ) + if ( size == 0 ) break; WRITE_OR_FAIL(file, fd, buf, size); } @@ -543,7 +543,7 @@ int fiasco_unpack(struct fiasco * fiasco, const char * dir) { image_seek(image, 0); while ( 1 ) { size = image_read(image, buf, sizeof(buf)); - if ( size < 1 ) + if ( size == 0 ) break; WRITE_OR_FAIL(name, fd, buf, size); } diff --git a/src/image.c b/src/image.c index c5939bd..d8952d2 100644 --- a/src/image.c +++ b/src/image.c @@ -419,6 +419,7 @@ enum image_type image_type_from_data(struct image * image) { unsigned char buf[512]; + memset(buf, 0, sizeof(buf)); image_seek(image, 0); image_read(image, buf, sizeof(buf)); |