diff options
| author | 2007-05-18 20:06:45 (JST) | |
|---|---|---|
| committer | 2007-05-19 05:51:02 (JST) | |
| commit | 3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c (patch) | |
| tree | 6a6af99ad81e5dcecf0de6469d09f0d00789593e | |
| parent | 72fa5c63f80262019d807658cc537c9897c4b1d1 (diff) | |
| download | cgit-3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c.zip cgit-3de63b264c36888dfd42dfdf3fc0aad4ce0c2b5c.tar.gz | |
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>
| -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); |
