]> granicus.if.org Git - cgit/commitdiff
cgit.c: fix caching keyed on PATH_INFO with no QUERY_STRING
authorLars Hjemli <hjemli@gmail.com>
Thu, 20 Aug 2009 08:07:51 +0000 (10:07 +0200)
committerLars Hjemli <hjemli@gmail.com>
Thu, 20 Aug 2009 08:07:51 +0000 (10:07 +0200)
When generating a hash for caching, ctx.qry.raw is used as key. And
since cgit_parse_url() zero-terminates it's argument (after the repo
path), ctx.qry.raw must xstrdup(ctx.qry.url).

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
cgit.c

diff --git a/cgit.c b/cgit.c
index 5816f3d8afef84ba7ed14580a0682342f206b50e..b0e1c44366cda6e9af2951561e092cba91959b14 100644 (file)
--- a/cgit.c
+++ b/cgit.c
@@ -539,7 +539,7 @@ int main(int argc, const char **argv)
                        ctx.qry.raw = xstrdup(fmt("%s?%s", path, qry));
                        free(qry);
                } else
-                       ctx.qry.raw = ctx.qry.url;
+                       ctx.qry.raw = xstrdup(ctx.qry.url);
                cgit_parse_url(ctx.qry.url);
        }