diff options
author | Michal Simek <michal.simek@xilinx.com> | 2016-10-21 13:16:13 +0200 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2016-11-15 15:27:45 +0100 |
commit | 56c7e8015509312240b1ee15f2ff74510939a45d (patch) | |
tree | 2b4d4de21c60962685979f1da246be1ab0eb439b | |
parent | 3b6460809c2a28360029c1c48247648fac4455c9 (diff) | |
download | u-boot-56c7e8015509312240b1ee15f2ff74510939a45d.zip u-boot-56c7e8015509312240b1ee15f2ff74510939a45d.tar.gz u-boot-56c7e8015509312240b1ee15f2ff74510939a45d.tar.bz2 |
tools: mkimage: Check if file is regular file
Current Makefile.spl passes -R parameter which is not empty
and pointing to ./ folder.
"./tools/mkimage -T zynqmpimage -R ./"" -d spl/u-boot-spl.bin
spl/boot.bin"
That's why mkimage is trying to parse ./ file and generate
register init which is wrong.
Check that passed filename is regular file. If not do not work with it.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r-- | tools/zynqmpimage.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/zynqmpimage.c b/tools/zynqmpimage.c index d08144c..202faea 100644 --- a/tools/zynqmpimage.c +++ b/tools/zynqmpimage.c @@ -237,12 +237,18 @@ static int zynqmpimage_check_image_types(uint8_t type) static void zynqmpimage_parse_initparams(struct zynqmp_header *zynqhdr, const char *filename) { - /* Expect a table of register-value pairs, e.g. "0x12345678 0x4321" */ - FILE *fp = fopen(filename, "r"); + FILE *fp; struct zynqmp_reginit reginit; unsigned int reg_count = 0; int r; + struct stat path_stat; + + stat(filename, &path_stat); + if (!S_ISREG(path_stat.st_mode)) + return; + /* Expect a table of register-value pairs, e.g. "0x12345678 0x4321" */ + fp = fopen(filename, "r"); if (!fp) { fprintf(stderr, "Cannot open initparams file: %s\n", filename); exit(1); |