changeset 21560:a304fb6bb606

lib-http: response parser: Always clear response to prevent referring to stale data.
author Stephan Bosch <stephan.bosch@dovecot.fi>
date Sat, 04 Feb 2017 16:21:51 +0100
parents 7163fa58c41e
children f0fbdd5839c1
files src/lib-http/http-response-parser.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-http/http-response-parser.c	Sat Feb 04 13:59:10 2017 +0100
+++ b/src/lib-http/http-response-parser.c	Sat Feb 04 16:21:51 2017 +0100
@@ -304,6 +304,8 @@
 	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 @@
 
 	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;