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