2014-02-04 09:50:46

by Andrei Emeltchenko

[permalink] [raw]
Subject: [PATCH] avctp: Fix memory leak

From: Andrei Emeltchenko <[email protected]>

Unregister pdu hanlders in avctp_disconnected()
---
profiles/audio/avctp.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c
index a77aa9d..a28cf71 100644
--- a/profiles/audio/avctp.c
+++ b/profiles/audio/avctp.c
@@ -496,6 +496,15 @@ static void avctp_disconnected(struct avctp *session)
if (!session)
return;

+ if (session->passthrough_id > 0)
+ avctp_unregister_pdu_handler(session->passthrough_id);
+
+ if (session->unit_id > 0)
+ avctp_unregister_pdu_handler(session->unit_id);
+
+ if (session->subunit_id > 0)
+ avctp_unregister_pdu_handler(session->subunit_id);
+
if (session->browsing)
avctp_channel_destroy(session->browsing);

--
1.8.3.2