cgit

commit 93a2c3305190ca87cc1a6c98868c251ef67c3f37

Author: Jason A. Donenfeld <Jason@zx2c4.com>

auth-filter: do not write more than we've read

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

 cgit.c | 4 ++--


diff --git a/cgit.c b/cgit.c
index e2d789101f302a6ad4b580146e1615968a7a91e9..fda0aa4b5ff87fa95690f95698406c661ba8f63f 100644
--- a/cgit.c
+++ b/cgit.c
@@ -659,13 +659,13 @@ /* The filter is expected to spit out "Status: " and all headers. */
 static inline void authenticate_post(void)
 {
 	char buffer[MAX_AUTHENTICATION_POST_BYTES];
-	unsigned int len;
+	ssize_t len;
 
 	open_auth_filter("authenticate-post");
 	len = ctx.env.content_length;
 	if (len > MAX_AUTHENTICATION_POST_BYTES)
 		len = MAX_AUTHENTICATION_POST_BYTES;
-	if (read(STDIN_FILENO, buffer, len) < 0)
+	if ((len = read(STDIN_FILENO, buffer, len)) < 0)
 		die_errno("Could not read POST from stdin");
 	if (write(STDOUT_FILENO, buffer, len) < 0)
 		die_errno("Could not write POST to stdout");