X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=firmware%2Fihex2fw.c;h=cf38e159131a1c2344533391a1a0077ad9764b14;hb=466c19063b4b426d5c362572787cb249fbf4296b;hp=ba0cf0b601bb925fc3ce514d1f1dd55569feac91;hpb=b0f969009f647cd473c5e559aeec9c4229d12f87;p=firefly-linux-kernel-4.4.55.git diff --git a/firmware/ihex2fw.c b/firmware/ihex2fw.c index ba0cf0b601bb..cf38e159131a 100644 --- a/firmware/ihex2fw.c +++ b/firmware/ihex2fw.c @@ -124,8 +124,7 @@ int main(int argc, char **argv) if (process_ihex(data, st.st_size)) return 1; - output_records(outfd); - return 0; + return output_records(outfd); } static int process_ihex(uint8_t *data, ssize_t size) @@ -269,11 +268,13 @@ static int output_records(int outfd) p->addr = htonl(p->addr); p->len = htons(p->len); - write(outfd, &p->addr, writelen); + if (write(outfd, &p->addr, writelen) != writelen) + return 1; p = p->next; } /* EOF record is zero length, since we don't bother to represent the type field in the binary version */ - write(outfd, zeroes, 6); + if (write(outfd, zeroes, 6) != 6) + return 1; return 0; }