diff --git a/src/profile.c b/src/profile.c
index 24f7b28..035994c 100644
--- a/src/profile.c
+++ b/src/profile.c
int proto;
GIOChannel *io;
guint io_id;
+ struct btd_adapter *adapter;
bool authorizing;
DBusPendingCall *new_conn;
ext_cancel(ext);
}
+ if (ext_io->adapter)
+ btd_adapter_unref(ext_io->adapter);
+
g_free(ext_io);
}
} else {
server->io = io;
server->proto = BTPROTO_L2CAP;
+ server->adapter = btd_adapter_ref(adapter);
ext->servers = g_slist_append(ext->servers, server);
DBG("%s listening on PSM %u", ext->name, ext->psm);
}
} else {
server->io = io;
server->proto = BTPROTO_RFCOMM;
+ server->adapter = btd_adapter_ref(adapter);
ext->servers = g_slist_append(ext->servers, server);
DBG("%s listening on chan %u", ext->name, ext->chan);
}