From 83ee9c4dc6ae9f6ea21c16f2104766cde353d1db Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Thu, 25 Oct 2012 13:41:22 +0300 Subject: [PATCH] network: Add missing btd_device reference counting --- profiles/network/manager.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/profiles/network/manager.c b/profiles/network/manager.c index 87d263a3d..ad5288589 100644 --- a/profiles/network/manager.c +++ b/profiles/network/manager.c @@ -86,6 +86,8 @@ static void connect_profile_cb(struct btd_device *device, int err, req->cb(req->profile, req->device, err); + btd_device_unref(req->device); + g_free(req); } @@ -98,13 +100,14 @@ static int connect_profile(struct btd_device *dev, struct btd_profile *profile, DBG("path %s id %u", device_get_path(dev), id); req = g_new0(struct connect_req, 1); - req->device = dev; + req->device = btd_device_ref(dev); req->profile = profile; req->cb = cb; err = connection_connect(dev, BNEP_SVC_PANU, NULL, connect_profile_cb, req); if (err < 0) { + btd_device_unref(req->device); g_free(req); return err; } -- 2.47.3