From dbc8a5628ab7928c584f82e17c49a4c996acee60 Mon Sep 17 00:00:00 2001 From: Jonathan Aillet Date: Sun, 27 May 2018 22:14:28 +0200 Subject: Change the way that hal data are initialized and freed Initialized the whole hal data structure instead of member by member. Free all strings if the hal is external (in this case, strings are allocated by hal manager). Change-Id: Ic860bcbf1999a870f34d12640e9c68b2cbc50876 Signed-off-by: Jonathan Aillet --- 4a-hal/4a-hal-utilities/4a-hal-utilities-data.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to '4a-hal') diff --git a/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c b/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c index 0001093..811d11d 100644 --- a/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c +++ b/4a-hal/4a-hal-utilities/4a-hal-utilities-data.c @@ -56,13 +56,7 @@ struct SpecificHalData *HalUtlAddHalApiToHalList(struct HalMgrData *HalMgrGlobal currentApi = currentApi->next; } - currentApi->apiName = NULL; - currentApi->sndCard = NULL; - currentApi->author = NULL; - currentApi->version = NULL; - currentApi->date = NULL; - - currentApi->next = NULL; + memset(currentApi, 0, sizeof(struct SpecificHalData)); return currentApi; } @@ -93,6 +87,15 @@ uint8_t HalUtlRemoveSelectedHalFromList(struct HalMgrData *HalMgrGlobalData, str } } + if(! matchingApi->internal) { + free(matchingApi->apiName); + free(matchingApi->sndCard); + free(matchingApi->info); + free(matchingApi->author); + free(matchingApi->version); + free(matchingApi->date); + }; + free(matchingApi); return 0; -- cgit 1.2.3-korg