Parent: 153a607801b677d21d7ad4a417fb8d8217512269
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Committer: Johan Hedberg <johan.hedberg@intel.com>
Date: 2013-07-30 12:53:16
Tree: a47b909efe8cc019c7a0c776c835f9a076602774
audio/AVCTP: Fix connecting browsing channel multiple times While accepting the connection via DEFER_SETUP a second connection can be created by using avctp_connect_browsing which will not detect one is in course as the state has not yet changed, this can cause memory leaks or crashes as the following: profiles/audio/avctp.c:avctp_confirm_cb() AVCTP: incoming connect from XX:XX:XX:XX:XX:XX profiles/audio/avctp.c:avctp_set_state() AVCTP Browsing Connecting profiles/audio/avctp.c:avctp_connect_browsing_cb() AVCTP Browsing: connected to XX:XX:XX:XX:XX:XX profiles/audio/avctp.c:avctp_set_state() AVCTP Browsing Connected profiles/audio/avctp.c:avctp_connect_browsing_cb() AVCTP Browsing: connected to XX:XX:XX:XX:XX:XX profiles/audio/avctp.c:avctp_set_state() AVCTP Browsing Connected profiles/audio/avctp.c:session_browsing_cb() AVCTP Browsing: disconnected profiles/audio/avctp.c:avctp_set_state() AVCTP Connected Invalid read of size 8 at 0x41EB28: session_browsing_cb (avctp.c:842) by 0x32F5447E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x32F5448157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x32F5448559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3) by 0x40A28F: main (main.c:583) Address 0x20 is not stack'd, malloc'd or (recently) free'd
Diffstat
| M | profiles/audio/avctp.c | | | 4 | +++- |
1 files changed, 3 insertions(+), 1 deletions(-)