ubusd: add missing NULL pointer checks for ACL processing

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
This commit is contained in:
Felix Fietkau 2016-01-13 12:28:37 +01:00
parent 85e4de4193
commit 1d2b3bbdbe

View file

@ -105,6 +105,9 @@ ubusd_acl_check(struct ubus_client *cl, const char *obj,
return 0; return 0;
acl = avl_find_ge_element(&ubusd_acls, obj, acl, avl); acl = avl_find_ge_element(&ubusd_acls, obj, acl, avl);
if (!acl)
return -1;
avl_for_element_to_last(&ubusd_acls, acl, acl, avl) { avl_for_element_to_last(&ubusd_acls, acl, acl, avl) {
int diff = ubusd_acl_match_path(obj, acl->avl.key, NULL); int diff = ubusd_acl_match_path(obj, acl->avl.key, NULL);
@ -415,6 +418,9 @@ ubusd_reply_add(struct ubus_object *obj)
return; return;
acl = avl_find_ge_element(&ubusd_acls, obj->path.key, acl, avl); acl = avl_find_ge_element(&ubusd_acls, obj->path.key, acl, avl);
if (!acl)
return;
avl_for_element_to_last(&ubusd_acls, acl, acl, avl) { avl_for_element_to_last(&ubusd_acls, acl, acl, avl) {
void *c; void *c;