summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tags.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-12-07 12:06:28 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-12-07 12:06:28 +0000
commit615ffa7ac36cba37b0ff3e4c960de5f0dd149be8 (patch)
treeb186b3b6a391b4c7f16af8e43bf0191b5a745e4d /crawl-ref/source/tags.cc
parent47c8823d6d8f4d5b8bb74ccd258b753c9a106a95 (diff)
downloadcrawl-ref-615ffa7ac36cba37b0ff3e4c960de5f0dd149be8.tar.gz
crawl-ref-615ffa7ac36cba37b0ff3e4c960de5f0dd149be8.zip
[1610689] Fixed string unmarshall being off by one.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@591 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/tags.cc')
-rw-r--r--crawl-ref/source/tags.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/crawl-ref/source/tags.cc b/crawl-ref/source/tags.cc
index 0d4b507aaa..007702870f 100644
--- a/crawl-ref/source/tags.cc
+++ b/crawl-ref/source/tags.cc
@@ -313,8 +313,8 @@ void unmarshallString(struct tagHeader &th, char *data, int maxSize)
// get length
short len = unmarshallShort(th);
int copylen = len;
- if (len > maxSize && maxSize > 0)
- copylen = maxSize;
+ if (len >= maxSize && maxSize > 0)
+ copylen = maxSize - 1;
// read the actual string and null terminate
memcpy(data, &tagBuffer[th.offset], copylen);