summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPatrick Oppenlander <patrick.oppenlander@gmail.com>2020-07-30 14:22:14 +1000
committerTom Rini <trini@konsulko.com>2020-08-07 11:47:18 -0400
commit04aeebb131081698204ad38bd8aba7140cd3ba22 (patch)
tree2eeb62a6d3f15e02354349ce8e88863ec8d2ead1 /tools
parentc520266f9a796f5f447f5e3b1da04a874500290a (diff)
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 <patrick.oppenlander@gmail.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/image-host.c19
1 files 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;