Diff between 9cb075aaf475f890cec5f7c67fe651601f73b5a3 and a8283e94e1ecc79b275c613a0fa1dfc72fc32298

Changed Files

File Additions Deletions Status
android/avrcp-lib.c +12 -0 modified

Full Patch

diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c
index 353bee5..92f7744 100644
--- a/android/avrcp-lib.c
+++ b/android/avrcp-lib.c
@@ -2461,6 +2461,12 @@ fail:
 	return -EPROTO;
 }
 
+static void free_attribute_list(uint8_t number, char **text)
+{
+	while(number--)
+		g_free(text[number]);
+}
+
 static int parse_elements(struct avrcp_header *pdu, uint8_t *number,
 						uint32_t *attrs, char **text)
 {
@@ -2535,6 +2541,9 @@ done:
 	player->cfm->get_element_attributes(session, err, number, attrs, text,
 							player->user_data);
 
+	if (err == 0)
+		free_attribute_list(number, text);
+
 	return FALSE;
 }
 
@@ -2859,6 +2868,9 @@ done:
 	player->cfm->get_item_attributes(session, err, number, attrs, text,
 							player->user_data);
 
+	if (err == 0)
+		free_attribute_list(number, text);
+
 	return FALSE;
 }