SL-16450 Don not crash viewer in case of invalid data type
parent
0424b18eab
commit
150993e2c2
|
|
@ -1188,6 +1188,10 @@ bool idle_startup()
|
|||
|
||||
}
|
||||
}
|
||||
else if (reason_response == "BadType")
|
||||
{
|
||||
LLNotificationsUtil::add("LoginFailedToParse", LLSD(), LLSD(), login_alert_done);
|
||||
}
|
||||
else if (!message.empty())
|
||||
{
|
||||
// This wasn't a certificate error, so throw up the normal
|
||||
|
|
|
|||
|
|
@ -212,6 +212,19 @@ Make sure your Internet connection is working properly.
|
|||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="LoginFailedToParse"
|
||||
type="alertmodal">
|
||||
<tag>fail</tag>
|
||||
Viewer received malformed response from server. Please, make sure your Internet connection is working properly and try again later.
|
||||
|
||||
If you feel this is in error, please contact Support.
|
||||
<usetemplate
|
||||
name="okbutton"
|
||||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="MessageTemplateNotFound"
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue