summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Schulz <[email protected]>2025-09-23 12:27:20 +0200
committerTom Rini <[email protected]>2025-10-10 13:28:36 -0600
commit6209ce58c3711a5ccdcd080651e604ba8fd3a067 (patch)
treefb22e368ecc832248e9ff77794f98dffa2f2bfaa
parent8c42f534d7e1956192ef8457fae884469f60ff13 (diff)
mkimage: fit: do not overwrite fdt_setprop return value
The return code of fdt_setprop is overwritten by the one from fdt_delprop meaning we could very well have an issue when setting the property that would be ignored if the deletion of the property that comes right after passes. Let's add a separate check for each. Fixes: 4860ee9b09e0 ("mkimage: allow internalization of data-position") Signed-off-by: Quentin Schulz <[email protected]>
-rw-r--r--tools/fit_image.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/fit_image.c b/tools/fit_image.c
index 10849733816..7e2a12aa7d0 100644
--- a/tools/fit_image.c
+++ b/tools/fit_image.c
@@ -793,14 +793,20 @@ static int fit_import_data(struct image_tool_params *params, const char *fname)
debug("Importing data size %x\n", len);
ret = fdt_setprop(fdt, node, FIT_DATA_PROP, data, len);
- ret = fdt_delprop(fdt, node, ext_data_prop);
-
if (ret) {
debug("%s: Failed to write property: %s\n", __func__,
fdt_strerror(ret));
ret = -EINVAL;
goto err_munmap;
}
+
+ ret = fdt_delprop(fdt, node, ext_data_prop);
+ if (ret) {
+ debug("%s: Failed to erase property: %s\n", __func__,
+ fdt_strerror(ret));
+ ret = -EINVAL;
+ goto err_munmap;
+ }
}
confs = fdt_path_offset(fdt, FIT_CONFS_PATH);