From 04aeebb131081698204ad38bd8aba7140cd3ba22 Mon Sep 17 00:00:00 2001 From: Patrick Oppenlander Date: Thu, 30 Jul 2020 14:22:14 +1000 Subject: [PATCH] mkimage: fit: handle FDT_ERR_NOSPACE when ciphering Also replace fdt_delprop/fdt_setprop with fdt_setprop as fdt_setprop can replace an existing property value. Signed-off-by: Patrick Oppenlander Reviewed-by: Philippe Reynes --- tools/image-host.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tools/image-host.c b/tools/image-host.c index dd7ecc4b60..b4603c5f01 100644 --- a/tools/image-host.c +++ b/tools/image-host.c @@ -399,23 +399,24 @@ int fit_image_write_cipher(void *fit, int image_noffset, int noffset, { int ret = -1; - /* Remove unciphered data */ - ret = fdt_delprop(fit, image_noffset, FIT_DATA_PROP); - if (ret) { - printf("Can't remove data (err = %d)\n", ret); - goto out; - } - - /* Add ciphered data */ + /* Replace data with ciphered data */ ret = fdt_setprop(fit, image_noffset, FIT_DATA_PROP, data_ciphered, data_ciphered_len); + if (ret == -FDT_ERR_NOSPACE) { + ret = -ENOSPC; + goto out; + } if (ret) { - printf("Can't add ciphered data (err = %d)\n", ret); + printf("Can't replace data with ciphered data (err = %d)\n", ret); goto out; } /* add non ciphered data size */ ret = fdt_setprop_u32(fit, image_noffset, "data-size-unciphered", size); + if (ret == -FDT_ERR_NOSPACE) { + ret = -ENOSPC; + goto out; + } if (ret) { printf("Can't add unciphered data size (err = %d)\n", ret); goto out; -- 2.39.5