summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Savchuk <vsavchuk@productengine.com>2010-03-22 21:47:56 +0200
committerVadim Savchuk <vsavchuk@productengine.com>2010-03-22 21:47:56 +0200
commit61d2caee9f9474a6ccb6c13a4727e3527bd7c938 (patch)
treedb3dc45923f085e97742e599b2f5029fbd91fb9a
parent8e50d02e1b9c2a051009df9f8ecf058e1cdb325d (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
-rw-r--r--indra/llmessage/lltemplatemessagebuilder.cpp2
-rw-r--r--indra/llmessage/lltemplatemessagereader.cpp5
-rw-r--r--indra/newview/skins/default/xui/en/panel_edit_profile.xml4
3 files changed, 5 insertions, 6 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;
}
diff --git a/indra/newview/skins/default/xui/en/panel_edit_profile.xml b/indra/newview/skins/default/xui/en/panel_edit_profile.xml
index 26be8440e7..dff2b9a214 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_profile.xml
@@ -146,7 +146,7 @@
layout="topleft"
left="123"
top="25"
- max_length="512"
+ max_length="511"
name="sl_description_edit"
width="157"
word_wrap="true">
@@ -200,7 +200,7 @@
height="102"
layout="topleft"
left="123"
- max_length="512"
+ max_length="254"
top="157"
name="fl_description_edit"
width="157"