From 675c85ec8246780cd18a68151bcdb3e596794ee7 Mon Sep 17 00:00:00 2001 From: Jonathan Aillet Date: Wed, 19 Jun 2019 14:26:58 +0200 Subject: Use a dynamic allocation for halmap data storage Use a dynamically allocated structure to store properties about ALSA controls (halmap). BUG-AGL: SPEC-2329 Change-Id: I691648452d6c950d201bc25977a493608fede197 Signed-off-by: Jonathan Aillet --- lib/4a-hal-utilities/4a-hal-utilities-alsa-data.h | 2 +- lib/4a-hal-utilities/4a-hal-utilities-data.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'lib/4a-hal-utilities') diff --git a/lib/4a-hal-utilities/4a-hal-utilities-alsa-data.h b/lib/4a-hal-utilities/4a-hal-utilities-alsa-data.h index 88b3e44..d548c73 100644 --- a/lib/4a-hal-utilities/4a-hal-utilities-alsa-data.h +++ b/lib/4a-hal-utilities/4a-hal-utilities-alsa-data.h @@ -53,7 +53,7 @@ struct InternalHalAlsaCtl { int numid; int value; - struct InternalHalAlsaCtlProperties alsaCtlProperties; + struct InternalHalAlsaCtlProperties *alsaCtlProperties; struct InternalHalAlsaCtlProperties *alsaCtlCreation; }; diff --git a/lib/4a-hal-utilities/4a-hal-utilities-data.c b/lib/4a-hal-utilities/4a-hal-utilities-data.c index d7ae1f6..cebc223 100644 --- a/lib/4a-hal-utilities/4a-hal-utilities-data.c +++ b/lib/4a-hal-utilities/4a-hal-utilities-data.c @@ -878,6 +878,17 @@ void HalUtlFreeSelectedHalMapDataAllocation(struct InternalHalAlsaMap *halMapDat free(halMapDataToFree->ctl.name); + if(halMapDataToFree->ctl.alsaCtlCreation) { + free(halMapDataToFree->ctl.alsaCtlCreation->enums); + free(halMapDataToFree->ctl.alsaCtlCreation->dbscale); + free(halMapDataToFree->ctl.alsaCtlCreation); + } + else if(halMapDataToFree->ctl.alsaCtlProperties) { + free(halMapDataToFree->ctl.alsaCtlProperties->enums); + free(halMapDataToFree->ctl.alsaCtlProperties->dbscale); + free(halMapDataToFree->ctl.alsaCtlProperties); + } + free(halMapDataToFree); } -- cgit