diff options
Diffstat (limited to 'indra/llmessage')
| -rw-r--r-- | indra/llmessage/lltemplatemessagebuilder.cpp | 2 | ||||
| -rw-r--r-- | indra/llmessage/lltemplatemessagereader.cpp | 5 | 
2 files changed, 3 insertions, 4 deletions
diff --git a/indra/llmessage/lltemplatemessagebuilder.cpp b/indra/llmessage/lltemplatemessagebuilder.cpp index 55379fc6fd..fa02456d90 100644 --- a/indra/llmessage/lltemplatemessagebuilder.cpp +++ b/indra/llmessage/lltemplatemessagebuilder.cpp @@ -326,7 +326,7 @@ void LLTemplateMessageBuilder::addData(const char *varname, const void *data, EM  			       << "(" << size << ").  Clamping size and truncating data." << llendl;  			size = 255;  			char *truncate = (char *)data; -			truncate[255] = 0; +			truncate[254] = 0; // array size is 255 but the last element index is 254  		}  		// no correct size for MVT_VARIABLE, instead we need to tell how many bytes the size will be encoded as diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp index 6682575ca5..8f56cf2521 100644 --- a/indra/llmessage/lltemplatemessagereader.cpp +++ b/indra/llmessage/lltemplatemessagereader.cpp @@ -433,10 +433,9 @@ inline void LLTemplateMessageReader::getString(const char *block, const char *va  inline void LLTemplateMessageReader::getString(const char *block, const char *var, std::string& outstr, S32 blocknum )  { -	char s[MTUBYTES]; -	s[0] = '\0'; +	char s[MTUBYTES + 1]= {0}; // every element is initialized with 0  	getData(block, var, s, 0, blocknum, MTUBYTES); -	s[MTUBYTES - 1] = '\0'; +	s[MTUBYTES] = '\0';  	outstr = s;  }  | 
