From 60fe4f88ccb96f9fa9053a433c8d74bb3bcfb6bc Mon Sep 17 00:00:00 2001 From: Li Xiaoming Date: Mon, 25 Jan 2021 18:05:05 +0800 Subject: Fix potential memory leak allSignalsJ should be freed before function returns if its owership is not transfered. Bug-AGL: SPEC-3584 Change-Id: Ie6ff72684300b04297a2d314121807a0d1cbf1c3 Signed-off-by: Li Xiaoming --- signal-composer-binding/signal-composer-binding.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/signal-composer-binding/signal-composer-binding.cpp b/signal-composer-binding/signal-composer-binding.cpp index b28d8ec..9009162 100644 --- a/signal-composer-binding/signal-composer-binding.cpp +++ b/signal-composer-binding/signal-composer-binding.cpp @@ -212,9 +212,14 @@ void list(afb_req_t request) {json_object_array_add(allSignalsJ, sig->toJSON());} if(json_object_array_length(allSignalsJ)) - {afb_req_success(request, allSignalsJ, NULL);} + { + afb_req_success(request, allSignalsJ, NULL); + } else - {afb_req_fail(request, "error", "No Signals recorded so far");} + { + json_object_put(allSignalsJ); + afb_req_fail(request, "error", "No Signals recorded so far"); + } } /// @brief entry point for get requests. -- cgit 1.2.3-korg