lib: ecdsa: fix prevent memory leak in ecdsa_add_verify_data

- Ensure `free_ctx` is called in both error and success paths.
- Fix memory leak in `ctx.signature` when `do_add` fails."

Triggers found by static analyzer Svace.

Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
This commit is contained in:
Anton Moryakov
2025-02-07 00:47:59 +03:00
committed by Tom Rini
parent 1bc125beca
commit 9943015f1b

View File

@@ -363,8 +363,10 @@ int ecdsa_add_verify_data(struct image_sign_info *info, void *fdt)
ret = prepare_ctx(&ctx, info);
if (ret >= 0) {
ret = do_add(&ctx, fdt, fdt_key_name, info);
if (ret < 0)
ret = ret == -FDT_ERR_NOSPACE ? -ENOSPC : -EIO;
if (ret < 0) {
free_ctx(&ctx);
return ret == -FDT_ERR_NOSPACE ? -ENOSPC : -EIO;
}
}
free_ctx(&ctx);