Diff between fe7f8fd83acb496c76fd1255492911fb844f3bfe and d5672b8869f2a11520725df1ff113192a155823a

Changed Files

File Additions Deletions Status
plugins/neard.c +12 -3 modified

Full Patch

diff --git a/plugins/neard.c b/plugins/neard.c
index 668c46f..131e8bd 100644
--- a/plugins/neard.c
+++ b/plugins/neard.c
@@ -579,9 +579,6 @@ static int check_adapter(struct btd_adapter *adapter)
 	if (btd_adapter_check_oob_handler(adapter))
 		return -EINPROGRESS;
 
-	if (!btd_adapter_get_pairable(adapter))
-		return -ENONET;
-
 	if (!btd_adapter_ssp_enabled(adapter))
 		return -ENOTSUP;
 
@@ -664,6 +661,12 @@ static DBusMessage *push_oob(DBusConnection *conn, DBusMessage *msg, void *data)
 		return error_reply(msg, -err);
 	}
 
+	if (!btd_adapter_get_pairable(adapter)) {
+		free_oob_params(&remote);
+
+		return error_reply(msg, ENONET);
+	}
+
 	store_params(adapter, device, &remote);
 
 	free_oob_params(&remote);
@@ -722,6 +725,12 @@ static DBusMessage *request_oob(DBusConnection *conn, DBusMessage *msg,
 		return error_reply(msg, -err);
 	}
 
+	if (!btd_adapter_get_pairable(adapter)) {
+		free_oob_params(&remote);
+
+		return error_reply(msg, ENONET);
+	}
+
 	store_params(adapter, device, &remote);
 
 	if (!remote.hash) {