From: Michal Simek Date: Fri, 21 Oct 2016 11:16:13 +0000 (+0200) Subject: tools: mkimage: Check if file is regular file X-Git-Tag: v2017.01-rc1~297 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=56c7e8015509312240b1ee15f2ff74510939a45d;p=u-boot 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 --- diff --git a/tools/zynqmpimage.c b/tools/zynqmpimage.c index d08144c2bd..202faea072 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);