Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions include/cppcore/Common/TStringBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ class TStringBase {

private:
static constexpr size_t InitSize = 512;
T mBuffer[InitSize] = {};
T mBuffer[InitSize] = {'\0'};
T *mStringBuffer{nullptr};
size_t mSize{0};
size_t mCapacity{InitSize};
Expand Down Expand Up @@ -173,11 +173,12 @@ inline void TStringBase<T>::copyFrom(TStringBase<T> &base, const T *ptr, size_t
if (base.mStringBuffer != nullptr) {
delete [] base.mStringBuffer;
}
base.mStringBuffer = new T[size];
base.mCapacity = size;
base.mStringBuffer = new T[size + 1];
base.mCapacity = size + 1;
targetPtr = base.mStringBuffer;
}
memcpy(targetPtr, ptr, size * sizeof(T));
targetPtr[size + 1] = '\0';
base.mSize = size;
}

Expand Down
4 changes: 2 additions & 2 deletions test/common/TStringBaseTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ TEST_F(TStringBaseTest, createTest) {
TEST_F(TStringBaseTest, setResetTest) {
TStringBase<char> string_1;
EXPECT_EQ(string_1.size(), 0);
EXPECT_EQ(string_1.capacity(), 256);
EXPECT_EQ(string_1.capacity(), 512);
string_1.set("test", 4);
EXPECT_EQ(string_1.size(), 4);
EXPECT_EQ(0, strncmp(string_1.c_str(), "test", 4));
Expand All @@ -54,7 +54,7 @@ TEST_F(TStringBaseTest, setResetTest) {

TEST_F(TStringBaseTest, setClearTest) {
TStringBase<char> string_1("test", 4);
EXPECT_EQ(string_1.capacity(), 256);
EXPECT_EQ(string_1.capacity(), 512);
EXPECT_EQ(string_1.size(), 4);
EXPECT_FALSE(string_1.isEmpty());

Expand Down