From 584bbfbc5943175b25a485e76a1e3afe280ee15c Mon Sep 17 00:00:00 2001 From: Tomasz Chyrowicz Date: Thu, 1 Aug 2024 14:33:36 +0200 Subject: [PATCH] suit: platform: Release digest sink on failure Release digest sink if the write API fails. Ref: NCSDK-28580 Signed-off-by: Tomasz Chyrowicz --- subsys/suit/platform/src/suit_plat_digest.c | 1 + subsys/suit/stream/stream_sinks/src/suit_sdfw_recovery_sink.c | 1 + 2 files changed, 2 insertions(+) diff --git a/subsys/suit/platform/src/suit_plat_digest.c b/subsys/suit/platform/src/suit_plat_digest.c index 7427469f43ee..c8456b5fe1b3 100644 --- a/subsys/suit/platform/src/suit_plat_digest.c +++ b/subsys/suit/platform/src/suit_plat_digest.c @@ -56,6 +56,7 @@ int suit_plat_check_digest(enum suit_cose_alg alg_id, struct zcbor_string *diges err = digest_sink.write(digest_sink.ctx, (uint8_t *)payload->value, payload->len); if (err != SUIT_PLAT_SUCCESS) { LOG_ERR("Failed to write to stream: %d", err); + (void)digest_sink.release(digest_sink.ctx); return suit_plat_err_to_processor_err_convert(err); } diff --git a/subsys/suit/stream/stream_sinks/src/suit_sdfw_recovery_sink.c b/subsys/suit/stream/stream_sinks/src/suit_sdfw_recovery_sink.c index d78564ab87e0..64541d54c78d 100644 --- a/subsys/suit/stream/stream_sinks/src/suit_sdfw_recovery_sink.c +++ b/subsys/suit/stream/stream_sinks/src/suit_sdfw_recovery_sink.c @@ -58,6 +58,7 @@ static digest_sink_err_t verify_digest(uint8_t *buf, size_t buf_size, psa_algori err = digest_sink.write(digest_sink.ctx, buf, buf_size); if (err != SUIT_PLAT_SUCCESS) { LOG_ERR("Failed to write to stream: %d", err); + (void)digest_sink.release(digest_sink.ctx); return err; }