diff options
Diffstat (limited to 'network/server.c')
-rw-r--r-- | network/server.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/network/server.c b/network/server.c index 0c22a67d..a3b1c068 100644 --- a/network/server.c +++ b/network/server.c @@ -1249,17 +1249,19 @@ int server_find_data(DBusConnection *conn, const char *path, const char *pattern) { struct network_server *ns; + const char *uuid; if (!dbus_connection_get_object_path_data(conn, path, (void *) &ns)) return -1; - if (strcasecmp(pattern, ns->name) == 0) + if (ns->name && strcasecmp(pattern, ns->name) == 0) return 0; - if (strcasecmp(pattern, ns->iface) == 0) + if (ns->iface && strcasecmp(pattern, ns->iface) == 0) return 0; - if (strcasecmp(pattern, bnep_name(ns->id)) == 0) + uuid = bnep_name(ns->id); + if (uuid && strcasecmp(pattern, uuid) == 0) return 0; if (bnep_service_id(pattern) == ns->id) |