summaryrefslogtreecommitdiff
path: root/tools/zynqimage.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2016-12-09 07:10:39 -0500
committerTom Rini <trini@konsulko.com>2016-12-09 07:10:39 -0500
commit3edc0c252257e4afed163a3a74aba24a5509b198 (patch)
treede01174e841e19844a158569113c559993764248 /tools/zynqimage.c
parentbb135a0180c31fbd7456021fb9700b49bba7f533 (diff)
parentb63cb3abbc626dc918828f302bd8ea72e7c226d2 (diff)
Merge branch 'master' of git://www.denx.de/git/u-boot-microblaze
Diffstat (limited to 'tools/zynqimage.c')
-rw-r--r--tools/zynqimage.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/tools/zynqimage.c b/tools/zynqimage.c
index 43876e7a30..b47132b02a 100644
--- a/tools/zynqimage.c
+++ b/tools/zynqimage.c
@@ -225,16 +225,26 @@ static int zynqimage_check_image_types(uint8_t type)
static void zynqimage_parse_initparams(struct zynq_header *zynqhdr,
const char *filename)
{
- /* Expect a table of register-value pairs, e.g. "0x12345678 0x4321" */
- FILE *fp = fopen(filename, "r");
+ FILE *fp;
struct zynq_reginit reginit;
unsigned int reg_count = 0;
- int r;
+ int r, err;
+ struct stat path_stat;
+ /* 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);
}
+
+ err = fstat(fileno(fp), &path_stat);
+ if (err)
+ return;
+
+ if (!S_ISREG(path_stat.st_mode))
+ return;
+
do {
r = fscanf(fp, "%x %x", &reginit.address, &reginit.data);
if (r == 2) {