]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: response parser: Always clear response to prevent referring to stale data.
authorStephan Bosch <stephan.bosch@dovecot.fi>
Sat, 4 Feb 2017 15:21:51 +0000 (16:21 +0100)
committerGitLab <gitlab@git.dovecot.net>
Wed, 15 Feb 2017 12:00:16 +0000 (14:00 +0200)
src/lib-http/http-response-parser.c

index b799f97d603fac32ab628e66fcd86d103c5a31c5..0f70092590d641bcb1ef4da4786d21a3af7874a1 100644 (file)
@@ -304,6 +304,8 @@ int http_response_parse_next(struct http_response_parser *parser,
        time_t retry_after = (time_t)-1;
        int ret;
 
+       i_zero(response);
+
        /* make sure we finished streaming payload from previous response
           before we continue. */
        if ((ret = http_message_parse_finish_payload(&parser->parser)) <= 0) {
@@ -387,7 +389,6 @@ int http_response_parse_next(struct http_response_parser *parser,
 
        parser->state = HTTP_RESPONSE_PARSE_STATE_INIT;
 
-       i_zero(response);
        response->status = parser->response_status;
        response->reason = parser->response_reason;
        response->version_major = parser->parser.msg.version_major;