From e17abb3c0ae9411d9cce85f8c5eac0115f16f772 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 7 Jan 2013 03:03:08 +0100 Subject: fix prefix lookup --- ubus.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ubus.c b/ubus.c index 2b4ac5b..86b0d44 100644 --- a/ubus.c +++ b/ubus.c @@ -84,13 +84,14 @@ static const struct blobmsg_policy acl_policy[__UH_UBUS_SA_MAX] = { */ #define uh_foreach_matching_acl_prefix(_acl, _ses, _obj, _func) \ for (_acl = avl_find_le_element(&(_ses)->acls, _obj, _acl, avl); \ - _acl && !strncmp((_acl)->object, _obj, (_acl)->sort_len); \ + _acl; \ _acl = avl_is_first(&(ses)->acls, &(_acl)->avl) ? NULL : \ avl_prev_element((_acl), avl)) #define uh_foreach_matching_acl(_acl, _ses, _obj, _func) \ uh_foreach_matching_acl_prefix(_acl, _ses, _obj, _func) \ - if (!fnmatch((_acl)->object, (_obj), FNM_NOESCAPE) && \ + if (!strncmp((_acl)->object, _obj, (_acl)->sort_len &&) \ + !fnmatch((_acl)->object, (_obj), FNM_NOESCAPE) && \ !fnmatch((_acl)->function, (_func), FNM_NOESCAPE)) static void -- cgit v1.2.3