From 333dacef05b7a5cb7266a6508deedb3632229295 Mon Sep 17 00:00:00 2001 From: Andrei Emeltchenko Date: Tue, 24 Jun 2014 15:07:44 +0300 Subject: [PATCH] HDP: Fix possible memory leak --- profiles/health/hdp_util.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c index 5676eee88..e3e0830d1 100644 --- a/profiles/health/hdp_util.c +++ b/profiles/health/hdp_util.c @@ -598,6 +598,13 @@ fail: return NULL; } +static void free_hdp_list(void *list) +{ + sdp_list_t *hdp_list = list; + + sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free); +} + static gboolean register_features(struct hdp_application *app, sdp_list_t **sup_features) { @@ -620,16 +627,11 @@ static gboolean register_features(struct hdp_application *app, fail: if (hdp_feature != NULL) sdp_list_free(hdp_feature, (sdp_free_func_t)sdp_data_free); + if (*sup_features != NULL) + sdp_list_free(*sup_features, free_hdp_list); return FALSE; } -static void free_hdp_list(void *list) -{ - sdp_list_t *hdp_list = list; - - sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free); -} - static gboolean register_service_sup_features(GSList *app_list, sdp_record_t *sdp_record) { -- 2.47.3