]> git.ipfire.org Git - thirdparty/git.git/blobdiff - serve.c
Merge branch 'rs/pull-leakfix'
[thirdparty/git.git] / serve.c
diff --git a/serve.c b/serve.c
index bda085f09c8e10314c2c497dbca978fd9241e7b5..c046926ba141c76fc2a6b6fb1db80e31c1c28e8c 100644 (file)
--- a/serve.c
+++ b/serve.c
@@ -167,7 +167,8 @@ static int process_request(void)
 
        packet_reader_init(&reader, 0, NULL, 0,
                           PACKET_READ_CHOMP_NEWLINE |
-                          PACKET_READ_GENTLE_ON_EOF);
+                          PACKET_READ_GENTLE_ON_EOF |
+                          PACKET_READ_DIE_ON_ERR_PACKET);
 
        /*
         * Check to see if the client closed their end before sending another
@@ -175,7 +176,7 @@ static int process_request(void)
         */
        if (packet_reader_peek(&reader) == PACKET_READ_EOF)
                return 1;
-       reader.options = PACKET_READ_CHOMP_NEWLINE;
+       reader.options &= ~PACKET_READ_GENTLE_ON_EOF;
 
        while (state != PROCESS_REQUEST_DONE) {
                switch (packet_reader_peek(&reader)) {
@@ -216,6 +217,8 @@ static int process_request(void)
 
                        state = PROCESS_REQUEST_DONE;
                        break;
+               case PACKET_READ_RESPONSE_END:
+                       BUG("unexpected stateless separator packet");
                }
        }