diff options
author | Lars Hjemli <hjemli@gmail.com> | 2007-05-18 13:06:45 +0200 |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-18 22:51:02 +0200 |
commit | 3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c (patch) | |
tree | 6a6af99ad81e5dcecf0de6469d09f0d00789593e /parsing.c | |
parent | 72fa5c63f80262019d807658cc537c9897c4b1d1 (diff) | |
download | cgit-3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c.tar.gz cgit-3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c.tar.xz |
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.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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); |