summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Osvald <denis.osvald@sartura.hr>2016-08-25 13:54:52 +0200
committerFelix Fietkau <nbd@nbd.name>2016-08-25 13:58:11 +0200
commitd6bb4f1a1ddab325024966cd79abd34364dfdd15 (patch)
treec02b9ab720f26acc6f5bcb40c1382ffd8987b47a
parent686c05d738a7a1f7ec62c47807f07f6f642904b1 (diff)
downloadubus-d6bb4f1a1ddab325024966cd79abd34364dfdd15.tar.gz
ubusd: don't check ACL when object is NULL
If there are any ACLs present other than global wildcard "*", the AVL tree comparator will compare ACL key to object name. However, object name can be NULL in cases where ACL check is done on call to internal ubus objects (e.g. ubus monitor). With this change we skip checking ACLs on such NULL objects. Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
-rw-r--r--ubusd_acl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ubusd_acl.c b/ubusd_acl.c
index 85ada5d..2700c86 100644
--- a/ubusd_acl.c
+++ b/ubusd_acl.c
@@ -101,7 +101,7 @@ ubusd_acl_check(struct ubus_client *cl, const char *obj,
struct blob_attr *cur;
int rem;
- if (!cl->uid)
+ if (!cl->uid || !obj)
return 0;
acl = avl_find_ge_element(&ubusd_acls, obj, acl, avl);