diff mbox

[OpenWrt-Devel,ubus,1/3] ubusd: don't check ACL when object is NULL

Message ID c3ac99da5ee8c1c177b0ad5f7ba6f4c086b7cc1d.1472125392.git.denis.osvald@sartura.hr
State Changes Requested
Delegated to: John Crispin
Headers show

Commit Message

Denis Osvald Aug. 25, 2016, 11:54 a.m. UTC
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>
---
 ubusd_acl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox

Patch

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);