summaryrefslogtreecommitdiff
path: root/indra/viewer_components
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-12-07 17:56:02 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-12-08 21:51:32 +0200
commit150993e2c2efbf75f268aec2d22257e4b562f274 (patch)
treee091138be176f7ac8bcc1fa42360c742d4e580ca /indra/viewer_components
parent0424b18eab191056b855062f03a35fb55f90dad0 (diff)
SL-16450 Don not crash viewer in case of invalid data type
Diffstat (limited to 'indra/viewer_components')
-rw-r--r--indra/viewer_components/login/lllogin.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index c2a0c46c83..168880dc12 100644
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -284,6 +284,7 @@ void LLLogin::Impl::loginCoro(std::string uri, LLSD login_params)
// If we don't recognize status at all, trouble
if (! (status == "CURLError"
+ || status == "BadType"
|| status == "XMLRPCError"
|| status == "OtherError"))
{
@@ -293,6 +294,15 @@ void LLLogin::Impl::loginCoro(std::string uri, LLSD login_params)
return;
}
+ if (status == "BadType")
+ {
+ // Invalid xmlrpc type
+ // Dump this response into logs
+ LL_WARNS("LLLogin") << "Failed to parse response"
+ << " from " << xmlrpcPump.getName()
+ << " pump: " << mAuthResponse << LL_ENDL;
+ }
+
// Here status IS one of the errors tested above.
// Tell caller this didn't work out so well.