From: Jo-Philipp Wich Date: Tue, 25 Oct 2016 14:23:05 +0000 (+0200) Subject: utils: add proper handling of "/" special case in uh_path_match() X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuhttpd.git;a=commitdiff_plain;h=1628fa4b34aa143187353f81e8001b9a15286bda utils: add proper handling of "/" special case in uh_path_match() The special prefix of "/" should match any url by definition but the final assertion which ensures that the matched prefix ends in '\0' or '/' is causing matches against the "/" prefix to fail. Add some extra code to handle this special case to implemented the expected behaviour. Signed-off-by: Jo-Philipp Wich --- diff --git a/utils.c b/utils.c index 29e03c0..9342eb6 100644 --- a/utils.c +++ b/utils.c @@ -208,6 +208,10 @@ bool uh_path_match(const char *prefix, const char *url) { int len = strlen(prefix); + /* A prefix of "/" will - by definition - match any url */ + if (prefix[0] == '/' && len == 1) + return true; + if (strncmp(url, prefix, len) != 0) return false;