summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cold-flash.c6
-rw-r--r--src/fiasco.c4
-rw-r--r--src/image.c1
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));