From 25e0ab207784d681987bb83e37a2570b0b5d4bdd Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Sat, 18 Sep 2021 00:52:09 +0300 Subject: SL-16032 Crash due to missing xmlrpc_type_empty support --- indra/viewer_components/login/lllogin.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/viewer_components/login') diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp index d485203fa1..c2a0c46c83 100644 --- a/indra/viewer_components/login/lllogin.cpp +++ b/indra/viewer_components/login/lllogin.cpp @@ -287,8 +287,9 @@ void LLLogin::Impl::loginCoro(std::string uri, LLSD login_params) || status == "XMLRPCError" || status == "OtherError")) { - LL_ERRS("LLLogin") << "Unexpected status from " << xmlrpcPump.getName() << " pump: " - << mAuthResponse << LL_ENDL; + LL_ERRS("LLLogin") << "Unexpected status " << status + << " from " << xmlrpcPump.getName() + << " pump: " << mAuthResponse << LL_ENDL; return; } -- cgit v1.2.3 From 150993e2c2efbf75f268aec2d22257e4b562f274 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 7 Dec 2021 17:56:02 +0200 Subject: SL-16450 Don not crash viewer in case of invalid data type --- indra/viewer_components/login/lllogin.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indra/viewer_components/login') 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. -- cgit v1.2.3