From cbc48dd8d7859f94367ff6c05213d2808fb35c29 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Mon, 27 Apr 2026 20:32:57 +0200 Subject: [PATCH] Fix memory non-freed Signed-off-by: Pol Henarejos --- src/usb/lwip/rest.c | 4 ++++ src/usb/lwip/rest_server.c | 1 + 2 files changed, 5 insertions(+) diff --git a/src/usb/lwip/rest.c b/src/usb/lwip/rest.c index f237131..f7b99b2 100644 --- a/src/usb/lwip/rest.c +++ b/src/usb/lwip/rest.c @@ -214,6 +214,10 @@ int rest_execute_route_handler(const rest_request_t *request, rest_route_handler } response->body = body; } + if (response->json != NULL) { + cJSON_Delete(response->json); + response->json = NULL; + } response->status_code = (response->status_code == 0) ? 200 : response->status_code; response->body_len = (response->body_len == 0) ? strlen(response->body) : response->body_len; diff --git a/src/usb/lwip/rest_server.c b/src/usb/lwip/rest_server.c index d999f48..eb8c0b0 100644 --- a/src/usb/lwip/rest_server.c +++ b/src/usb/lwip/rest_server.c @@ -885,6 +885,7 @@ void rest_check_and_load_credentials(void) { out: mbedtls_x509write_crt_free(&crt); mbedtls_platform_zeroize(cert_pem, sizeof(cert_pem)); + mbedtls_pk_free(&key); } tls_credentials.tls_cert_pem = (char *)file_get_data(ef); tls_credentials.tls_cert_pem_len = file_get_size(ef);