The previous kdbus_name_lookup() fix assumed kdbus_conn_ref(NULL) is a
no-op. Turns out, it's a panic-op instead... Fix it.
Also add the ABI-break annotation as the previous error-code change
requires new systemd user-space (fixed by Kay).
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
mutex_lock(®->lock);
e = __kdbus_name_lookup(reg, hash, name);
if (e) {
- if (conn)
- *conn = kdbus_conn_ref(e->conn);
- if (activator)
- *activator = kdbus_conn_ref(e->activator);
+ if (conn) {
+ if (e->conn)
+ *conn = kdbus_conn_ref(e->conn);
+ else
+ *conn = NULL;
+ }
+ if (activator) {
+ if (e->activator)
+ *activator = kdbus_conn_ref(e->activator);
+ else
+ *activator = NULL;
+ }
if (name_id)
*name_id = e->name_id;
}