aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/firmware-utils/src/uimage_padhdr.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/tools/firmware-utils/src/uimage_padhdr.c b/tools/firmware-utils/src/uimage_padhdr.c
index b5fb97d21f..d1a1efb575 100644
--- a/tools/firmware-utils/src/uimage_padhdr.c
+++ b/tools/firmware-utils/src/uimage_padhdr.c
@@ -97,18 +97,6 @@ int main(int argc, char *argv[])
exit(1);
}
- if (stat(infname, &statbuf) < 0) {
- fprintf(stderr,
- "could not find input file. (errno = %d)\n", errno);
- exit(1);
- }
-
- filebuf = malloc(statbuf.st_size + padsz);
- if (!filebuf) {
- fprintf(stderr, "buffer allocation failed\n");
- exit(1);
- }
-
ifd = open(infname, O_RDONLY);
if (ifd < 0) {
fprintf(stderr,
@@ -123,6 +111,18 @@ int main(int argc, char *argv[])
exit(1);
}
+ if (fstat(ifd, &statbuf) < 0) {
+ fprintf(stderr,
+ "could not fstat input file. (errno = %d)\n", errno);
+ exit(1);
+ }
+
+ filebuf = malloc(statbuf.st_size + padsz);
+ if (!filebuf) {
+ fprintf(stderr, "buffer allocation failed\n");
+ exit(1);
+ }
+
rsz = read(ifd, filebuf, sizeof(*imgh));
if (rsz != sizeof(*imgh)) {
fprintf(stderr,