summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2017-05-20 13:46:12 -0700
committerMatt Ranostay <matt.ranostay@konsulko.com>2017-05-20 13:46:54 -0700
commit49b1952b45d45a0dbec2662f26e2cf2e08531b48 (patch)
tree5a62ba86609d56f222bc9fe9d0447d6eca68245e
parentd64ef459722a9da065c8045dfa92c222871f1f3f (diff)
binding: bluetooth: fix memory leak in avrcp controls
avrcp data pointers need to be freed when btd_device structure is destroyed Change-Id: I39b534665d9e7b74ff20443668b5fee395446aa9 Bug-AGL: SPEC-596 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
-rw-r--r--bluetooth-manager.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/bluetooth-manager.c b/bluetooth-manager.c
index 35c770f..1f18f8b 100644
--- a/bluetooth-manager.c
+++ b/bluetooth-manager.c
@@ -157,6 +157,24 @@ void device_free(struct btd_device* device)
device->name = NULL;
}
+ if (device->avrcp_title) {
+ D_PRINTF("avrcp_title:%s\n",device->avrcp_title);
+ g_free(device->avrcp_title);
+ device->avrcp_title = NULL;
+ }
+
+ if (device->avrcp_artist) {
+ D_PRINTF("avrcp_artist:%s\n",device->avrcp_artist);
+ g_free(device->avrcp_artist);
+ device->avrcp_artist = NULL;
+ }
+
+ if (device->avrcp_status) {
+ D_PRINTF("avrcp_status:%s\n",device->avrcp_status);
+ g_free(device->avrcp_status);
+ device->avrcp_status = NULL;
+ }
+
g_free(device);
}