From 003e17d982a1b71a39e3bafcf487327ad456f16d Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 20 Nov 2008 13:31:13 -0800 Subject: [PATCH] cstring: pre-terminate even if content unspecified --- src/include/cstring.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/include/cstring.h b/src/include/cstring.h index 7254e92ad058c..c2b1449350d64 100644 --- a/src/include/cstring.h +++ b/src/include/cstring.h @@ -17,10 +17,9 @@ class cstring { cstring() : _len(0), _data(0) {} cstring(int l, const char *d=0) : _len(l) { _data = new char[_len + 1]; - if (d) { + if (d) memcpy(_data, d, l); - _data[l] = 0; - } + _data[l] = 0; } cstring(const char *s) { _len = strlen(s); @@ -78,7 +77,7 @@ class cstring { return *this; } char &operator[](int n) { - assert(n < _len); + assert(n <= _len); return _data[n]; } void swap(cstring &other) { -- 2.39.5