diff mbox series

tools: image: fix "algo" property of public key for verified boot

Message ID 1509078321-7694-1-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit 1d88a99d1b9175c41f015631311fd9e5966eb997
Headers show
Series tools: image: fix "algo" property of public key for verified boot | expand

Commit Message

Masahiro Yamada Oct. 27, 2017, 4:25 a.m. UTC
The "algo_name" points to a property in a blob being edited.  The
pointer becomes stale when fit_image_write_sig() inserts signatures.
Then crypto->add_verify_data() writes wrong data to the public key
destination.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 tools/image-host.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Tom Rini Nov. 6, 2017, 11:27 p.m. UTC | #1
On Fri, Oct 27, 2017 at 01:25:21PM +0900, Masahiro Yamada wrote:

> The "algo_name" points to a property in a blob being edited.  The

> pointer becomes stale when fit_image_write_sig() inserts signatures.

> Then crypto->add_verify_data() writes wrong data to the public key

> destination.

> 

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>


Applied to u-boot/master, thanks!

-- 
Tom
diff mbox series

Patch

diff --git a/tools/image-host.c b/tools/image-host.c
index c60d4ad..ad9a73a 100644
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -166,7 +166,7 @@  static int fit_image_setup_sig(struct image_sign_info *info,
 	info->keyname = fdt_getprop(fit, noffset, "key-name-hint", NULL);
 	info->fit = fit;
 	info->node_offset = noffset;
-	info->name = algo_name;
+	info->name = strdup(algo_name);
 	info->checksum = image_get_checksum_algo(algo_name);
 	info->crypto = image_get_crypto_algo(algo_name);
 	info->require_keys = require_keys;