Hello Marek,

Am 08.02.2014 15:16, schrieb Marek Vasut:
On Saturday, January 25, 2014 at 07:44:28 AM, Heiko Schocher wrote:
add fit_info command to the host tools. This command prints
the name, offset and the len from a property from a node in
a fit file. This info can be used to extract a properties
data with linux tools, for example "dd".

Signed-off-by: Heiko Schocher<h...@denx.de>

[...]

+int mmap_fdt(char *cmdname, const char *fname, void **blobp,
+               struct stat *sbuf)
+{
+       void *ptr;
+       int fd;
+
+       /* Load FIT blob into memory (we need to write hashes/signatures) */
+       fd = open(fname, O_RDWR | O_BINARY);
+
+       if (fd<  0) {
+               fprintf(stderr, "%s: Can't open %s: %s\n",
+                       cmdname, fname, strerror(errno));
+               unlink(fname);

Are you sure about this unlink() call here ? The unlink() might delete the file,
dunno if that was intended ;-)

Heh.. good catch! I only moved this function from tools/fit_image.c
to a common place, so other function can use it too ... but I just
noticed, I do not really need this ...

+               return -1;
+       }
+
+       if (fstat(fd, sbuf)<  0) {
+               fprintf(stderr, "%s: Can't stat %s: %s\n",
+                       cmdname, fname, strerror(errno));
+               unlink(fname);
+               return -1;
+       }
+
+       ptr = mmap(0, sbuf->st_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+       if (ptr == MAP_FAILED) {
+               fprintf(stderr, "%s: Can't read %s: %s\n",
+                       cmdname, fname, strerror(errno));
+               unlink(fname);

Here this might be a problem ;-)

Also, make sure to set errno = 0 before mmap() and check the errno afterwards
here too.
[...]

Seems this function needs a rework! I drop this from my patch, as I
do not need it.

bye,
Heiko
--
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to