diff options
author | Lars Hjemli | 2007-05-18 13:06:45 +0200 |
---|---|---|
committer | Lars Hjemli | 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.bz2 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.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -167,7 +167,8 @@ void cgit_parse_url(const char *url) | |||
167 | p = strchr(cmd + 1, '/'); | 167 | p = strchr(cmd + 1, '/'); |
168 | if (p) { | 168 | if (p) { |
169 | p[0] = '\0'; | 169 | p[0] = '\0'; |
170 | cgit_query_path = xstrdup(p + 1); | 170 | if (p[1]) |
171 | cgit_query_path = xstrdup(p + 1); | ||
171 | } | 172 | } |
172 | cgit_cmd = cgit_get_cmd_index(cmd + 1); | 173 | cgit_cmd = cgit_get_cmd_index(cmd + 1); |
173 | cgit_query_page = xstrdup(cmd + 1); | 174 | cgit_query_page = xstrdup(cmd + 1); |