diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-03-26 13:19:27 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2015-03-26 21:58:00 +0200 |
commit | 335c8740350064ee43a1392aedf22aa09b4d8904 (patch) | |
tree | d9d615a7ea50cda74d1241126f0a9ee1673c7588 /android/avdtp.c | |
parent | 3b75c3546e4fef943a0f0c0f0632531aade74d79 (diff) | |
download | bluez-335c8740350064ee43a1392aedf22aa09b4d8904.tar.gz |
android/avdtp: Fix test /TP/SIG/SMG/BI-19-C
Test /TP/SIG/SMG/BI-19-C was causing the following backtrace:
Invalid write of size 4
at 0x415653: avdtp_parse_rej (avdtp.c:2801)
by 0x415653: session_cb (avdtp.c:2067)
by 0x4E7E7FA: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EB97: ??? (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EEC1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4189D1: tester_run (tester.c:831)
by 0x40C8C7: main (test-avdtp.c:1392)
Address 0x5c75b60 is 96 bytes inside a block of size 104 free'd
at 0x4C2ACE9: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E8450E: g_free (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4101F0: stream_free (avdtp.c:697)
by 0x4E9C7FC: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E9C81A: g_slist_free_full (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4106FF: avdtp_free (avdtp.c:974)
by 0x4106FF: avdtp_unref (avdtp.c:1042)
by 0x40CE18: destroy_context (test-avdtp.c:130)
by 0x40CE18: context_quit (test-avdtp.c:145)
by 0x40E38F: sep_start_cfm (test-avdtp.c:481)
by 0x415652: avdtp_parse_rej (avdtp.c:2799)
by 0x415652: session_cb (avdtp.c:2067)
by 0x4E7E7FA: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EB97: ??? (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EEC1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4200.2)
Diffstat (limited to 'android/avdtp.c')
-rw-r--r-- | android/avdtp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/android/avdtp.c b/android/avdtp.c index 2252782d3..7dcccd0e4 100644 --- a/android/avdtp.c +++ b/android/avdtp.c @@ -2808,9 +2808,9 @@ static gboolean avdtp_parse_rej(struct avdtp *session, error("START request rejected: %s (%d)", avdtp_strerror(&err), err.err.error_code); if (sep && sep->cfm && sep->cfm->start) { + stream->starting = FALSE; sep->cfm->start(session, sep, stream, &err, sep->user_data); - stream->starting = FALSE; } return TRUE; case AVDTP_SUSPEND: |