Go to file
Rafal Michalski b70fae3807 Fix invalid memory access issues in AVDTP module
Changing stream state from STREAMING to IDLE can be associated with side
effects under some circumstances (such as terminating bluetoothd during
music is streamed). In this case, after connection is lost, stream state
changes from STREAMING to IDLE - "avdtp_sep_set_state" is triggered which
invokes callback called "stream_state_changed" which internally invokes
"avdtp_sep_set_state" (state of stream doesn't change and stays as IDLE)
second time and then stream object is freed by "stream_free"
at the end of "avdtp_sep_set_state". After returning from callback,
first triggered "avdtp_sep_set_state" attempts to free stream object
again ("if (state == AVDTP_STATE_IDLE)" condition is still satisfied)
and it leads to invalid read/write/free issues (reported by valgrind)
in "stream free" body, since "stream" is "alias" pointer to stream object
which is already out of date (memory for stream object has been already
freed).

This patch prevents from this special case by freeing stream object only
when it is present on streams list and removing from this list when
stream object would be freed.
2011-06-14 12:07:56 +03:00
attrib Add "quit" to gatttool supported commands 2011-06-08 09:59:20 +09:00
audio Fix invalid memory access issues in AVDTP module 2011-06-14 12:07:56 +03:00
btio btio: Add workaround for not defined BT_FLUSHABLE 2011-05-27 10:22:07 -07:00
compat Remove obsolete Sixaxis enablement in hidd 2011-05-29 21:59:30 +03:00
cups Fix unused variable warnings reported by GCC 4.6 2011-05-15 01:57:12 +03:00
doc Fix typo error in the attribute API documentation 2011-06-14 10:42:37 +03:00
gdbus Remove unused result variable from g_dbus_pending_success 2011-05-15 01:47:11 +03:00
health Remove not needed GError* assignements to NULL 2011-05-15 01:47:06 +03:00
input Fix unused variable warnings reported by GCC 4.6 2011-05-15 01:57:12 +03:00
lib Fix empty parameter list in functions declarations 2011-05-18 09:05:55 -07:00
network Report error from ioctl in bnep_if_down 2011-05-15 01:47:12 +03:00
plugins Add support of secure pin code in mgmt code 2011-06-08 10:04:23 +09:00
sap Remove SAP_BUF_SIZE define from sap/server.c 2011-06-14 10:46:21 +03:00
sbc sbc: Fix empty parameter list in usage() declaration 2011-05-18 09:08:44 -07:00
scripts Fix udev rule for Logitech devices 2011-06-09 13:26:46 +09:00
serial Fix check for negative port number in tcp_socket_connect 2011-05-15 01:47:11 +03:00
src Add support of secure pin code in mgmt code 2011-06-08 10:04:23 +09:00
test Fix empty parameter list in functions declarations 2011-05-18 09:05:55 -07:00
tools Remove unnecessary jumps 2011-06-01 14:41:01 +03:00
tracer Add manual log to hcitrace 2010-05-21 10:44:29 +02:00
.gitignore Add uuidtest binary to gitignore list 2011-04-04 19:48:45 -07:00
.mailmap Fix Alok's email address 2010-10-06 10:29:09 +02:00
acinclude.m4 Move hid2hci to /lib/udev 2011-05-02 09:23:34 -07:00
AUTHORS Mention Brian's contributions 2011-02-20 12:14:10 -08:00
bluez.pc.in Improve build system 2007-12-08 21:46:12 +00:00
bootstrap Add --automake option 2006-08-18 19:41:53 +00:00
bootstrap-configure Remove deprecated attrib plugin 2011-04-01 16:43:11 +03:00
ChangeLog Release 4.94 2011-05-31 08:13:22 -07:00
configure.ac Release 4.94 2011-05-31 08:13:22 -07:00
COPYING Remove new page characters 2008-08-14 22:56:25 +02:00
COPYING.LIB Remove new page characters 2008-08-14 22:56:25 +02:00
INSTALL Big cleanup of CVS relics 2005-10-29 19:25:42 +00:00
Makefile.am Update library version 2011-05-31 01:30:37 -07:00
Makefile.tools Move hid2hci to /lib/udev 2011-05-02 09:23:34 -07:00
NEWS Initial revision 2002-03-08 21:10:06 +00:00
README Update copyright information 2010-01-01 17:08:17 -08:00
TODO TODO: Add hard-coded PSM for GATT over basic rate 2011-04-14 20:12:18 +03:00

BlueZ - Bluetooth protocol stack for Linux
******************************************

Copyright (C) 2000-2001  Qualcomm Incorporated
Copyright (C) 2002-2003  Maxim Krasnyansky <maxk@qualcomm.com>
Copyright (C) 2002-2010  Marcel Holtmann <marcel@holtmann.org>


Compilation and installation
============================

In order to compile Bluetooth utilities you need following software packages:
	- Linux Bluetooth protocol stack (BlueZ)
	- GCC compiler
	- D-Bus library
	- GLib library
	- USB library (optional)
	- Lexical Analyzer (flex, lex)
	- YACC (yacc, bison, byacc)

To configure run:
	./configure --prefix=/usr --mandir=/usr/share/man \
		--sysconfdir=/etc --localstatedir=/var --libexecdir=/lib

Configure automatically searches for all required components and packages.

To compile and install run:
	make && make install


Information
===========

Mailing lists:
	linux-bluetooth@vger.kernel.org

For additional information about the project visit BlueZ web site:
	http://www.bluez.org