gatt: Fix crash with BR/EDR only adapter 70/204970/1
authorSzymon Janc <szymon.janc@codecoup.pl>
Wed, 4 Apr 2018 07:28:56 +0000 (09:28 +0200)
committerAmit Purwar <amit.purwar@samsung.com>
Mon, 29 Apr 2019 04:02:09 +0000 (09:32 +0530)
commita1b06c41059a0978eccb8f35ef84780ae3fbb58a
tree3df4b364deec9be98f6a34e4084eea49928f3097
parentf2f6ed3e062256cccf9f3c6236e9ac9411e1c88a
gatt: Fix crash with BR/EDR only adapter

adapter->database can be NULL if controller is BR/EDR only or LE was
disabled. Make btd_gatt_database_restore_svc_chng_ccc accept NULL
pointer and silently ignore it similiar to rest of btd_gatt_database
API.

Invalid read of size 8
   at 0x164DCB: btd_gatt_database_restore_svc_chng_ccc (src/bluez-git/src/bluetoothd)
   by 0x17B70F: read_info_complete (src/bluez-git/src/bluetoothd)
   by 0x1A7E58: request_complete (src/bluez-git/src/bluetoothd)
   by 0x1A89AD: can_read_data (src/bluez-git/src/bluetoothd)
   by 0x1B5752: watch_callback (src/bluez-git/src/bluetoothd)
   by 0x4E852C5: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5600.0)
   by 0x4E856A0: ??? (in /usr/lib/libglib-2.0.so.0.5600.0)
   by 0x4E859D1: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.5600.0)
   by 0x125058: main (src/bluez-git/src/bluetoothd)
 Address 0x40 is not stack'd, malloc'd or (recently) free'd

Change-Id: Ibec4e5ced0c2218d96499c47afcd2863484212eb
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
src/gatt-database.c