From 048e7f75b91c4acb64efbed1788ca3949f3b41f4 Mon Sep 17 00:00:00 2001 From: Harshit Malpani Date: Fri, 5 Aug 2022 15:12:17 +0530 Subject: [PATCH] example: fix memory leak in pre_encrypted_ota example. Closes: https://github.com/espressif/esp-idf/issues/9489 --- .../system/ota/pre_encrypted_ota/main/pre_encrypted_ota.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/system/ota/pre_encrypted_ota/main/pre_encrypted_ota.c b/examples/system/ota/pre_encrypted_ota/main/pre_encrypted_ota.c index 1ae72c11e8d..20f8f153aaa 100644 --- a/examples/system/ota/pre_encrypted_ota/main/pre_encrypted_ota.c +++ b/examples/system/ota/pre_encrypted_ota/main/pre_encrypted_ota.c @@ -84,7 +84,11 @@ static esp_err_t _decrypt_cb(decrypt_cb_arg_t *args, void *user_ctx) // It is unlikely to not have App Descriptor available in first iteration of decrypt callback. assert(args->data_out_len >= app_desc_offset + sizeof(esp_app_desc_t)); esp_app_desc_t *app_info = (esp_app_desc_t *) &args->data_out[app_desc_offset]; - return validate_image_header(app_info); + err = validate_image_header(app_info); + if (err != ESP_OK) { + free(pargs.data_out); + } + return err; } } else { args->data_out_len = 0;