Parent: 24c79fd933c6c30bca3be1a4aae2a9da7d851327
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Committer: Johan Hedberg <johan.hedberg@intel.com>
Date: 2015-02-02 08:44:15
Tree: 165f29e1dbab4015a361ae36f83bed3710ec9862
core: Fix crash on device removal The following crash happen when attempting to remove a device while it is connecting, this will turn all services to unavailable without first setting it to disconnected causing the backtrace: Invalid read of size 8 at 0x495BF8: btd_service_connect (service.c:200) by 0x49D942: connect_next.isra.7 (device.c:1283) by 0x4A2B82: device_profile_connected (device.c:1328) by 0x4A2B82: service_state_changed (device.c:5325) by 0x4957A9: change_state (service.c:108) by 0x495AF4: service_remove (service.c:173) by 0x4A4BD9: device_remove (device.c:3207) by 0x48AAC1: btd_adapter_remove_device (adapter.c:1135) by 0x48B536: remove_device (adapter.c:2270) by 0x4BF4CB: process_message.isra.3 (object.c:259) by 0x4BFD12: generic_message (object.c:1070) by 0x518C5CE: ??? (in /usr/lib64/libdbus-1.so.3.8.10) by 0x517E193: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.8.10) Address 0x7a22e60 is 16 bytes inside a block of size 40 free'd at 0x4C2ACE9: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x4E847FE: g_free (in /usr/lib64/libglib-2.0.so.0.4200.1) by 0x495988: btd_service_unref (service.c:130) by 0x495B26: service_remove (service.c:177) by 0x4A4BD9: device_remove (device.c:3207) by 0x48AAC1: btd_adapter_remove_device (adapter.c:1135) by 0x48B536: remove_device (adapter.c:2270) by 0x4BF4CB: process_message.isra.3 (object.c:259) by 0x4BFD12: generic_message (object.c:1070) by 0x518C5CE: ??? (in /usr/lib64/libdbus-1.so.3.8.10) by 0x517E193: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.8.10) by 0x4BA45F: message_dispatch (mainloop.c:72)
Diffstat
| M | src/service.c | | | 1 | + |
1 files changed, 1 insertions(+), 0 deletions(-)