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>
This commit is contained in:
		 Christian Hesse
					Christian Hesse
				
			
				
					committad av
					
						 Jason A. Donenfeld
						Jason A. Donenfeld
					
				
			
			
				
	
			
			
			 Jason A. Donenfeld
						Jason A. Donenfeld
					
				
			
						förälder
						
							c543d7dbf6
						
					
				
				
					incheckning
					aa12084f98
				
			| @@ -25,21 +25,25 @@ void cgit_print_patch(const char *new_rev, const char *old_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; | ||||
| 		} | ||||
|   | ||||
		Referens i nytt ärende
	
	Block a user