if (message_type != DBUSPOLICY_MESSAGE_TYPE_SIGNAL) {
rr = 0;
- if (!sender)
+ if (!sender || !(*sender))
rr = __internal_can_recv(p_udesc->bus_type, uid, gid, p_creds->label, sender, path, interface, member, message_type);
else
FOREACH_STRV(i, l, sender, name) {
snprintf(uid, 24, "%lu", (unsigned long int)sender_uid);
snprintf(gid, 24, "%lu", (unsigned long int)sender_gid);
- if (!destination)
+ if (!destination || !(*destination))
rs = __internal_can_send(p_udesc->bus_type, uid, gid, sender_label, destination, path, interface, member, message_type);
else
FOREACH_STRV(i, l, destination, name) {
if(message_type != DBUSPOLICY_MESSAGE_TYPE_SIGNAL) {
rr = 0;
- if (!sender)
+ if (!sender || !(*sender))
rr = __internal_can_recv(p_udesc->bus_type, p_udesc->user, p_udesc->group, p_udesc->label, sender, path, interface, member, message_type);
else
FOREACH_STRV(i, l, sender, name) {