aboutsummaryrefslogtreecommitdiffstats
path: root/parsing.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-05-18 13:06:45 +0200
committerLars Hjemli <hjemli@gmail.com>2007-05-18 22:51:02 +0200
commit3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c (patch)
tree6a6af99ad81e5dcecf0de6469d09f0d00789593e /parsing.c
parentcache_safe_filename() needs more buffers (diff)
downloadcgit-3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c.tar.xz
cgit-3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c.zip
Don't be fooled by trailing '/' in url-parameter
cgit_parse_url() didn't check if the path-part of urls contained a real path or just a trailing slash. This made the log-page die since the path filtering supplied an invalid path argument. This fixes it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'parsing.c')
-rw-r--r--parsing.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/parsing.c b/parsing.c
index a028625..4420e58 100644
--- a/parsing.c
+++ b/parsing.c
@@ -167,7 +167,8 @@ void cgit_parse_url(const char *url)
p = strchr(cmd + 1, '/');
if (p) {
p[0] = '\0';
- cgit_query_path = xstrdup(p + 1);
+ if (p[1])
+ cgit_query_path = xstrdup(p + 1);
}
cgit_cmd = cgit_get_cmd_index(cmd + 1);
cgit_query_page = xstrdup(cmd + 1);