summaryrefslogtreecommitdiff
path: root/libs/battery/LongArrayMultiStateCounter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/battery/LongArrayMultiStateCounter.cpp')
-rw-r--r--libs/battery/LongArrayMultiStateCounter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/battery/LongArrayMultiStateCounter.cpp b/libs/battery/LongArrayMultiStateCounter.cpp
index 35c40ab7e6..334d84b6b5 100644
--- a/libs/battery/LongArrayMultiStateCounter.cpp
+++ b/libs/battery/LongArrayMultiStateCounter.cpp
@@ -46,9 +46,12 @@ Uint64ArrayRW &Uint64ArrayRW::operator=(const Uint64Array &t) {
}
if (mSize != 0) {
if (t.data() != nullptr) {
- mData = new uint64_t[mSize];
+ if (mData == nullptr) {
+ mData = new uint64_t[mSize];
+ }
memcpy(mData, t.data(), mSize * sizeof(uint64_t));
} else {
+ delete[] mData;
mData = nullptr;
}
}