diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-06-12 16:13:30 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-06-12 16:13:30 (GMT) |
| commit | 318499350d80697be0563e2a43c2fc2df059c412 (patch) | |
| tree | 4b7000e5dd3def7c0bc75d70d1aa67e5f9dba03e /src/client/GameSave.cpp | |
| parent | 80bb49ca12fb6cd492cffe7d667de5a8c4981659 (diff) | |
| download | powder-318499350d80697be0563e2a43c2fc2df059c412.zip powder-318499350d80697be0563e2a43c2fc2df059c412.tar.gz | |
TPT: strncpy for loading sign text in OPS 433c1881bc
Diffstat (limited to 'src/client/GameSave.cpp')
| -rw-r--r-- | src/client/GameSave.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/client/GameSave.cpp b/src/client/GameSave.cpp index ed541b2..7e3cdf8 100644 --- a/src/client/GameSave.cpp +++ b/src/client/GameSave.cpp @@ -308,8 +308,12 @@ void GameSave::readOPS(char * data, int dataLength) { if(strcmp(bson_iterator_key(&signiter), "text")==0 && bson_iterator_type(&signiter)==BSON_STRING) { - tempSign.text = bson_iterator_string(&signiter); + char tempString[256]; + strncpy(tempString, bson_iterator_string(&signiter), 255); + tempString[255] = 0; clean_text((char*)tempSign.text.c_str(), 158-14); + + tempSign.text = tempString; } else if(strcmp(bson_iterator_key(&signiter), "justification")==0 && bson_iterator_type(&signiter)==BSON_INT) { |
