FIRE-30582: Fix out of range crash

meow-7.2.2
Ansariel 2020-12-12 00:12:08 +01:00
parent d68dcdcbed
commit c5835b95b7
1 changed files with 14 additions and 2 deletions

View File

@ -470,7 +470,13 @@ void LLLogChat::loadChatHistory(const std::string& file_name, std::list<LLSD>& m
if (is_group)
{
std::string old_name(file_name);
old_name.erase(old_name.size() - GROUP_CHAT_SUFFIX.size());
// <FS:Ansariel> FIRE-30582: Fix out of range crash
//old_name.erase(old_name.size() - GROUP_CHAT_SUFFIX.size());
if (LLStringUtil::endsWith(old_name, GROUP_CHAT_SUFFIX))
{
old_name.erase(old_name.size() - GROUP_CHAT_SUFFIX.size());
}
// </FS:Ansariel>
fptr = LLFile::fopen(LLLogChat::makeLogFileName(old_name), "r");
if (fptr)
{
@ -1234,7 +1240,13 @@ void LLLoadHistoryThread::loadHistory(const std::string& file_name, std::list<LL
if (is_group)
{
std::string old_name(file_name);
old_name.erase(old_name.size() - GROUP_CHAT_SUFFIX.size());
// <FS:Ansariel> FIRE-30582: Fix out of range crash
//old_name.erase(old_name.size() - GROUP_CHAT_SUFFIX.size());
if (LLStringUtil::endsWith(old_name, GROUP_CHAT_SUFFIX))
{
old_name.erase(old_name.size() - GROUP_CHAT_SUFFIX.size());
}
// </FS:Ansariel>
fptr = LLFile::fopen(LLLogChat::makeLogFileName(old_name), "r");
if (fptr)
{