diff options
author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-03-22 21:47:56 +0200 |
---|---|---|
committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-03-22 21:47:56 +0200 |
commit | 61d2caee9f9474a6ccb6c13a4727e3527bd7c938 (patch) | |
tree | db3dc45923f085e97742e599b2f5029fbd91fb9a /indra/llmessage | |
parent | 8e50d02e1b9c2a051009df9f8ecf058e1cdb325d (diff) |
Fixed bug EXT-6446 (Profile Real World description gets messed up if out of the old characters' number limit).
Submitting on behalf of Dmitry Zaporozhan.
Reviewed by me and Richard: https://codereview.productengine.com/secondlife/r/67/
--HG--
branch : product-engine
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; } |