From 9bf69bf71754a0d74ed4b8e69ecbaeded1f7609e Mon Sep 17 00:00:00 2001 From: "nicolas.dufresne@gmail.com" Date: Wed, 10 Oct 2012 16:14:29 +0000 Subject: Fix potential infinit loop uppon network error git-svn-id: http://libproxy.googlecode.com/svn/trunk@854 c587cffe-e639-0410-9787-d7902ae8ed56 --- libproxy/url.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libproxy/url.cpp b/libproxy/url.cpp index dcebcde..5615b4c 100644 --- a/libproxy/url.cpp +++ b/libproxy/url.cpp @@ -480,11 +480,14 @@ char* url::get_pac() { while (recvd != content_length) { int r = recv(sock, buffer + recvd, content_length - recvd, 0); - if (r < 0) break; + if (r < 0) { + recvd = content_length; + break; + } recvd += r; } buffer[content_length] = '\0'; - } while (chunked); + } while (recvd != content_length); if (string(buffer).size() != content_length) { delete buffer; -- cgit v1.2.1