[U-Boot] [PATCH] Don't try to stat() a colon separated list of files in multi or script mode
Nye Liu
nyet at nyet.org
Thu Nov 19 01:37:12 CET 2015
---
tools/mkimage.c | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/tools/mkimage.c b/tools/mkimage.c
index 8af9d50..aa739b4 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -311,21 +311,27 @@ NXTARG: ;
exit (retval);
}
- dfd = open(params.datafile, O_RDONLY | O_BINARY);
- if (dfd < 0) {
- fprintf(stderr, "%s: Can't open %s: %s\n",
- params.cmdname, params.datafile, strerror(errno));
- exit(EXIT_FAILURE);
- }
+ if (params.skipcpy ||
+ !(params.type == IH_TYPE_MULTI ||
+ params.type == IH_TYPE_SCRIPT)) {
+ dfd = open(params.datafile, O_RDONLY | O_BINARY);
+ if (dfd < 0) {
+ fprintf(stderr, "%s: Can't open %s: %s\n",
+ params.cmdname, params.datafile,
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
- if (fstat(dfd, &sbuf) < 0) {
- fprintf(stderr, "%s: Can't stat %s: %s\n",
- params.cmdname, params.datafile, strerror(errno));
- exit(EXIT_FAILURE);
- }
+ if (fstat(dfd, &sbuf) < 0) {
+ fprintf(stderr, "%s: Can't stat %s: %s\n",
+ params.cmdname, params.datafile,
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
- params.file_size = sbuf.st_size + tparams->header_size;
- close(dfd);
+ params.file_size = sbuf.st_size + tparams->header_size;
+ close(dfd);
+ }
/*
* In case there an header with a variable
--
2.6.2
More information about the U-Boot
mailing list