Skip to content
Merged
Changes from 2 commits
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
9 changes: 7 additions & 2 deletions src/interface/TWData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#include <TrustWalletCore/TWData.h>
#include <TrustWalletCore/TWString.h>
#include <TrezorCrypto/memzero.h>
#include "Data.h"
#include "HexCoding.h"
#include <algorithm>
Expand Down Expand Up @@ -95,8 +96,12 @@ void TWDataReset(TWData *_Nonnull data) {
}

void TWDataDelete(TWData *_Nonnull data) {
auto* v = reinterpret_cast<const Data*>(data);
delete v;
auto* vConst = reinterpret_cast<const Data*>(data);
// `const_cast` is safe here despite that the pointer to the data is const
// but `Data` is not a constant value.
auto *v = const_cast<Data*>(vConst);
memzero(v->data(), v->size());
delete vConst;
}

bool TWDataEqual(TWData *_Nonnull lhs, TWData *_Nonnull rhs) {
Expand Down
Loading