summaryrefslogtreecommitdiff
path: root/indra/llmessage
diff options
context:
space:
mode:
authorRoxie Linden <roxie@lindenlab.com>2010-03-29 16:24:58 -0700
committerRoxie Linden <roxie@lindenlab.com>2010-03-29 16:24:58 -0700
commit86dc5bce1a6fdde1238fea97ca1f6f8acb862184 (patch)
tree35ab8edbc364a05a5d29d343f63b22e01ea5cb38 /indra/llmessage
parent3fca923949667d1c713119043cd4aaeae4acfe09 (diff)
parent8654ba5e2571e07c8d2fd898027abf6f85777905 (diff)
Automated merge
Diffstat (limited to 'indra/llmessage')
-rw-r--r--indra/llmessage/lltemplatemessagebuilder.cpp2
-rw-r--r--indra/llmessage/lltemplatemessagereader.cpp5
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;
}