diff options
-rw-r--r-- | common/glib-helper.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/common/glib-helper.c b/common/glib-helper.c index f4d3f9d4..5938e654 100644 --- a/common/glib-helper.c +++ b/common/glib-helper.c @@ -154,11 +154,13 @@ int bt_discover_services(const bdaddr_t *src, const bdaddr_t *dst, s = sdp_connect(src, dst, SDP_NON_BLOCKING); if (!s) - return -EIO; + return -errno; - ctxt = g_malloc0(sizeof(struct search_context)); - if (!ctxt) + ctxt = g_try_malloc0(sizeof(struct search_context)); + if (!ctxt) { + sdp_close(s); return -ENOMEM; + } bacpy(&ctxt->src, src); bacpy(&ctxt->dst, dst); |