diff options
| author | Todd Stinson <stinson@lindenlab.com> | 2012-01-30 17:24:49 -0800 |
|---|---|---|
| committer | Todd Stinson <stinson@lindenlab.com> | 2012-01-30 17:24:49 -0800 |
| commit | 12a045f199da3eb11dd8368158131ccee5a42f72 (patch) | |
| tree | 4c1712fcfef615cbeda8b783a8d0555e7fc9fe5c /indra/newview/llxmlrpctransaction.cpp | |
| parent | de6ae690b5315307b59b1a2ac722700c3839e4ba (diff) | |
| parent | 0e609cc95b08c28bd51f5ab48160fd93df7a6b28 (diff) | |
Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development.
Diffstat (limited to 'indra/newview/llxmlrpctransaction.cpp')
| -rw-r--r-- | indra/newview/llxmlrpctransaction.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/indra/newview/llxmlrpctransaction.cpp b/indra/newview/llxmlrpctransaction.cpp index 920a9a3752..0da70d398b 100644 --- a/indra/newview/llxmlrpctransaction.cpp +++ b/indra/newview/llxmlrpctransaction.cpp @@ -305,6 +305,15 @@ void LLXMLRPCTransaction::Impl::init(XMLRPC_REQUEST request, bool useGzip) { mCurlRequest = new LLCurlEasyRequest(); } + if(!mCurlRequest->isValid()) + { + llwarns << "mCurlRequest is invalid." << llendl ; + + delete mCurlRequest ; + mCurlRequest = NULL ; + return ; + } + mErrorCert = NULL; // mCurlRequest->setopt(CURLOPT_VERBOSE, 1); // useful for debugging @@ -357,10 +366,20 @@ LLXMLRPCTransaction::Impl::~Impl() } delete mCurlRequest; + mCurlRequest = NULL ; } bool LLXMLRPCTransaction::Impl::process() { + if(!mCurlRequest || !mCurlRequest->isValid()) + { + llwarns << "transaction failed." << llendl ; + + delete mCurlRequest ; + mCurlRequest = NULL ; + return true ; //failed, quit. + } + switch(mStatus) { case LLXMLRPCTransaction::StatusComplete: |
