]> git.sur5r.net Git - u-boot/blobdiff - tools/fit_image.c
x86: acpi: Return table length in acpi_create_madt_lapics()
[u-boot] / tools / fit_image.c
index 9d553d10fb8e72e41eb46d05bcb9466db8a731e3..0551572b04576971d4fd4af4e9085b89d5715964 100644 (file)
@@ -123,13 +123,14 @@ static int fdt_property_file(struct image_tool_params *params,
 
        ret = fdt_property_placeholder(fdt, "data", sbuf.st_size, &ptr);
        if (ret)
-               return ret;
+               goto err;
        ret = read(fd, ptr, sbuf.st_size);
        if (ret != sbuf.st_size) {
                fprintf(stderr, "%s: Can't read %s: %s\n",
                        params->cmdname, fname, strerror(errno));
                goto err;
        }
+       close(fd);
 
        return 0;
 err:
@@ -342,7 +343,6 @@ static int fit_build(struct image_tool_params *params, const char *fname)
        if (ret != size) {
                fprintf(stderr, "%s: Can't write %s: %s\n",
                        params->cmdname, fname, strerror(errno));
-               close(fd);
                goto err;
        }
        close(fd);
@@ -536,8 +536,8 @@ static int fit_import_data(struct image_tool_params *params, const char *fname)
        if (fd < 0) {
                fprintf(stderr, "%s: Can't open %s: %s\n",
                        params->cmdname, fname, strerror(errno));
-               ret = -EIO;
-               goto err;
+               free(fdt);
+               return -EIO;
        }
        if (write(fd, fdt, new_size) != new_size) {
                debug("%s: Failed to write external data to file %s\n",