summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2016-10-21 13:16:13 +0200
committerMichal Simek <michal.simek@xilinx.com>2016-11-15 15:27:45 +0100
commit56c7e8015509312240b1ee15f2ff74510939a45d (patch)
tree2b4d4de21c60962685979f1da246be1ab0eb439b /tools
parent3b6460809c2a28360029c1c48247648fac4455c9 (diff)
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>
Diffstat (limited to 'tools')
-rw-r--r--tools/zynqmpimage.c10
1 files changed, 8 insertions, 2 deletions
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);