From 6a269b7fdefe3edc60a6218f1402f17206644628 Mon Sep 17 00:00:00 2001 From: Lucas Dietrich Date: Mon, 7 Jul 2025 17:55:50 +0200 Subject: [PATCH] ecdsa: fix segfault in mkimage when "-r" option is not set Fix a segmentation fault in the ECDSA signing logic of `mkimage` that occurs when the "-r" option is not specified. This reproduces the logic in `lib/rsa/rsa-sign.c` by checking if `info->require_keys` is non-null before passing it to `fdt_setprop_string()`. Signed-off-by: Lucas Dietrich --- lib/ecdsa/ecdsa-libcrypto.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/ecdsa/ecdsa-libcrypto.c b/lib/ecdsa/ecdsa-libcrypto.c index 7415d685ee1..c4bfb2cec61 100644 --- a/lib/ecdsa/ecdsa-libcrypto.c +++ b/lib/ecdsa/ecdsa-libcrypto.c @@ -519,10 +519,12 @@ static int do_add(struct signer *ctx, void *fdt, const char *key_node_name, if (ret < 0) return ret; - ret = fdt_setprop_string(fdt, key_node, FIT_KEY_REQUIRED, - info->require_keys); - if (ret < 0) - return ret; + if (info->require_keys) { + ret = fdt_setprop_string(fdt, key_node, FIT_KEY_REQUIRED, + info->require_keys); + if (ret < 0) + return ret; + } return key_node; } -- 2.47.2