From: Jo-Philipp Wich Date: Tue, 25 Oct 2016 15:10:14 +0000 (+0200) Subject: lua: ensure that PATH_INFO starts with a slash X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuhttpd.git;a=commitdiff_plain;h=e6cfc911811b904494776938a480e0b77a14124a lua: ensure that PATH_INFO starts with a slash When calculating the matching prefix length, make sure to not take the trailing slash into account in order to ensure that the resulting PATH_INFO string always starts with a slash. This ensures that an url like "/foo" against the matching prefix "/" or "/foo/bar" against "/foo/" result in "/foo" and "/bar" respectively. Signed-off-by: Jo-Philipp Wich --- diff --git a/lua.c b/lua.c index 2134904..3efe22b 100644 --- a/lua.c +++ b/lua.c @@ -222,6 +222,10 @@ static void lua_main(struct client *cl, struct path_info *pi, char *url) pi->query = str + 1; path_len = str - url; } + + if (prefix_len > 0 && conf.lua_prefix[prefix_len - 1] == '/') + prefix_len--; + if (path_len > prefix_len) { lua_pushlstring(L, url + prefix_len, path_len - prefix_len);