Fixed bluetoothd crash due to illegal access of request 80/205080/1
authorAmit Purwar <amit.purwar@samsung.com>
Fri, 26 Apr 2019 09:25:32 +0000 (14:55 +0530)
committerAmit Purwar <amit.purwar@samsung.com>
Mon, 29 Apr 2019 04:21:34 +0000 (09:51 +0530)
Change-Id: I687ae73b0faa0f1e366e72649b9a9ace5d059ad5
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
src/device.c

index 2ef80ec..41a6dae 100644 (file)
@@ -3060,8 +3060,10 @@ static void device_svc_resolved(struct btd_device *dev, uint8_t browse_type,
                        store_services(dev);
        }
 
+#ifndef TIZEN_FEATURE_BLUEZ_MODIFY
        if (req)
                browse_request_complete(req, browse_type, bdaddr_type, err);
+#endif
 
        while (dev->svc_callbacks) {
                struct svc_callback *cb = dev->svc_callbacks->data;
@@ -3077,11 +3079,16 @@ static void device_svc_resolved(struct btd_device *dev, uint8_t browse_type,
        }
 
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+       if (!req) 
+               return;
+
        /* If bdaddr_type is LE but req is for SDP, don't complete browse req. */
        if (bdaddr_type != BDADDR_BREDR && req->search_uuid) {
                DBG("Discover comp. is for LE but browse req. is for SDP.");
                return;
        }
+
+       browse_request_complete(req, browse_type, bdaddr_type, err);
 #endif
 }