diff options
-rw-r--r-- | rbutil/mkimxboot/mkimxboot.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/rbutil/mkimxboot/mkimxboot.c b/rbutil/mkimxboot/mkimxboot.c index 5f9a1e1ed9..33516a92d6 100644 --- a/rbutil/mkimxboot/mkimxboot.c +++ b/rbutil/mkimxboot/mkimxboot.c | |||
@@ -532,24 +532,11 @@ static enum imx_error_t compute_md5sum_buf(void *buf, size_t sz, uint8_t file_md | |||
532 | /* compute MD5 of a file */ | 532 | /* compute MD5 of a file */ |
533 | static enum imx_error_t compute_md5sum(const char *file, uint8_t file_md5sum[16]) | 533 | static enum imx_error_t compute_md5sum(const char *file, uint8_t file_md5sum[16]) |
534 | { | 534 | { |
535 | FILE *f = fopen(file, "rb"); | 535 | void *buf; |
536 | if(f == NULL) | 536 | size_t sz; |
537 | { | 537 | enum imx_error_t err = read_file(file, &buf, &sz); |
538 | printf("[ERR] Cannot open input file\n"); | 538 | if(err != IMX_SUCCESS) |
539 | return IMX_OPEN_ERROR; | 539 | return err; |
540 | } | ||
541 | fseek(f, 0, SEEK_END); | ||
542 | size_t sz = ftell(f); | ||
543 | fseek(f, 0, SEEK_SET); | ||
544 | void *buf = xmalloc(sz); | ||
545 | if(fread(buf, sz, 1, f) != 1) | ||
546 | { | ||
547 | fclose(f); | ||
548 | free(buf); | ||
549 | printf("[ERR] Cannot read file\n"); | ||
550 | return IMX_READ_ERROR; | ||
551 | } | ||
552 | fclose(f); | ||
553 | compute_md5sum_buf(buf, sz, file_md5sum); | 540 | compute_md5sum_buf(buf, sz, file_md5sum); |
554 | free(buf); | 541 | free(buf); |
555 | return IMX_SUCCESS; | 542 | return IMX_SUCCESS; |