X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/79c985e13c10b498c3ea62f4607c2e2a460c3b10..b66b16ed026c6f57ad8ae892c821d835113e7fb2:/ui-clone.c diff --git a/ui-clone.c b/ui-clone.c index a4ffd6e..1e6238d 100644 --- a/ui-clone.c +++ b/ui-clone.c @@ -63,16 +63,18 @@ static void send_file(char *path) } ctx.page.mimetype = "application/octet-stream"; ctx.page.filename = path; - if (!starts_with(ctx.repo->path, path)) - ctx.page.filename += strlen(ctx.repo->path) + 1; + skip_prefix(path, ctx.repo->path, &ctx.page.filename); + skip_prefix(ctx.page.filename, "/", &ctx.page.filename); cgit_print_http_headers(); html_include(path); } void cgit_clone_info(void) { - if (!ctx.qry.path || strcmp(ctx.qry.path, "refs")) + if (!ctx.qry.path || strcmp(ctx.qry.path, "refs")) { + html_status(400, "Bad request", 0); return; + } ctx.page.mimetype = "text/plain"; ctx.page.filename = "info/refs";