From 2a1098552e071c625a8c1614a331e9557212d380 Mon Sep 17 00:00:00 2001
From: MaximB ProductEngine <mberezhnoy@productengine.com>
Date: Thu, 12 Dec 2013 07:24:13 +0200
Subject: [PATCH] MAINT-3541 (crash in std::vector >::reserve)

---
 indra/llmessage/lltemplatemessagereader.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp
index ab91f74abe6..94bc7cb0458 100755
--- a/indra/llmessage/lltemplatemessagereader.cpp
+++ b/indra/llmessage/lltemplatemessagereader.cpp
@@ -91,15 +91,17 @@ void LLTemplateMessageReader::getData(const char *blockname, const char *varname
 	}
 
 	LLMsgBlkData *msg_block_data = iter->second;
-	LLMsgVarData& vardata = msg_block_data->mMemberVarData[vnamep];
+	LLMsgBlkData::msg_var_data_map_t &var_data_map = msg_block_data->mMemberVarData;
 
-	if (!vardata.getName())
+	if (var_data_map.find(vnamep) == var_data_map.end())
 	{
 		llerrs << "Variable "<< vnamep << " not in message "
 			<< mCurrentRMessageData->mName<< " block " << bnamep << llendl;
 		return;
 	}
 
+	LLMsgVarData& vardata = msg_block_data->mMemberVarData[vnamep];
+
 	if (size && size != vardata.getSize())
 	{
 		llerrs << "Msg " << mCurrentRMessageData->mName 
-- 
GitLab