From 74055542902b590cd4d7868aa1c14bf4da7c6399 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Wed, 13 Mar 2013 08:49:26 +0000 Subject: Fixed potential memory leak in LLHTTPClient. Fixed potential hanging http requests in LLHTTPClient. Fixed munging of "Pragma" headers in LLHTTPClientAdapter --- indra/llmessage/llhttpclient.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'indra/llmessage/llhttpclient.cpp') diff --git a/indra/llmessage/llhttpclient.cpp b/indra/llmessage/llhttpclient.cpp index 0c325a68aa..46b0311cce 100644 --- a/indra/llmessage/llhttpclient.cpp +++ b/indra/llmessage/llhttpclient.cpp @@ -222,7 +222,11 @@ static void request( { if (!LLHTTPClient::hasPump()) { - responder->completed(U32_MAX, "No pump", LLSD()); + if (responder) + { + responder->completed(U32_MAX, "No pump", LLSD()); + } + delete body_injector; return; } LLPumpIO::chain_t chain; @@ -230,8 +234,13 @@ static void request( LLURLRequest* req = new LLURLRequest(method, url); if(!req->isValid())//failed { - delete req ; - return ; + if (responder) + { + responder->completed(498, "Internal Error - curl failure"); + } + delete req; + delete body_injector; + return; } req->setSSLVerifyCallback(LLHTTPClient::getCertVerifyCallback(), (void *)req); -- cgit v1.2.3