ui-patch: make sure to send http headers Requesting a text/plain patch with bad commit id made cgit send text without proper http headers. This results in "500 Internal Server Error" with "Premature end of script headers" in server logs. So print http headers before error message and return. Signed-off-by: Christian Hesse <mail@eworm.de> Reviewed-by: John Keeping <john@keeping.me.uk>
Christian Hesse mail@eworm.de
Fri, 14 Aug 2015 00:02:50 +0200
1 files changed,
4 insertions(+),
0 deletions(-)
jump to
M
ui-patch.c
→
ui-patch.c
@@ -25,21 +25,25 @@ if (!new_rev)
new_rev = ctx.qry.head; if (get_sha1(new_rev, new_rev_sha1)) { + cgit_print_http_headers(); cgit_print_error("Bad object id: %s", new_rev); return; } commit = lookup_commit_reference(new_rev_sha1); if (!commit) { + cgit_print_http_headers(); cgit_print_error("Bad commit reference: %s", new_rev); return; } if (old_rev) { if (get_sha1(old_rev, old_rev_sha1)) { + cgit_print_http_headers(); cgit_print_error("Bad object id: %s", old_rev); return; } if (!lookup_commit_reference(old_rev_sha1)) { + cgit_print_http_headers(); cgit_print_error("Bad commit reference: %s", old_rev); return; }