tools: image: fix "algo" property of public key for verified boot
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 27 Oct 2017 04:25:21 +0000 (13:25 +0900)
committerTom Rini <trini@konsulko.com>
Mon, 6 Nov 2017 14:59:00 +0000 (09:59 -0500)
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

index c60d4adb3dece07d85c34cfaec8355d773bfb45a..ad9a73acf8eea53be633c6740e5d129cd3578f97 100644 (file)
@@ -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;