changeset 16640:97fcb2904b22

lib-http: Don't crash when receiving 304 or a redirect without Location: header. Patch by Stephan Bosch
author Timo Sirainen <tss@iki.fi>
date Sun, 04 Aug 2013 12:16:09 +0300
parents 292991f2d504
children 2d6497a4f124
files src/lib-http/http-client-connection.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-http/http-client-connection.c	Sat Aug 03 21:33:25 2013 +0300
+++ b/src/lib-http/http-client-connection.c	Sun Aug 04 12:16:09 2013 +0300
@@ -590,8 +590,9 @@
 				req->payload_sync = FALSE;
 				conn->peer->no_payload_sync = TRUE;
 				http_client_request_retry(req, response->status, response->reason);
-				return;								
-			} else if (response->status / 100 == 3) {
+				return;
+			} else if (response->status / 100 == 3 && response->status != 304 &&
+				response->location != NULL) {
 				/* redirect */
 				http_client_request_redirect(req, response->status, response->location);
 			} else {