summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-01-31 14:54:45 -0600
committerSilarn <jrim@rimpo.org>2019-02-18 21:29:27 -0600
commitf04c437960c0882e62af7ead176c3f22adcd681d (patch)
treef8041d812d6ec198eabceec5826cd33d0cf4d329 /src/settings.cpp
parent42d8bba5d419d13fcc6334c9bd73cb3c3a6d5251 (diff)
Rework the data and cleanup a bit
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index 80d429c3..eb34ab29 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -181,10 +181,11 @@ QString Settings::obfuscate(const QString &info)
QString result;
DATA_BLOB input;
DATA_BLOB output;
- BYTE *pbInput = new unsigned char[info.size() + 1];
- memcpy(pbInput, info.constData(), info.size() + 1);
+ std::vector<uint8_t> data;
+ data.reserve(info.size() + 1);
+ memcpy(data.data(), info.constData(), info.size() + 1);
DWORD cbInput = info.size() + 1;
- input.pbData = pbInput;
+ input.pbData = data.data();
input.cbData = cbInput;
if (CryptProtectData(&input, NULL, NULL, NULL, NULL, 0, &output)) {
@@ -193,8 +194,7 @@ QString Settings::obfuscate(const QString &info)
} else {
qCritical() << "Failed to encrypt the data!";
}
- delete pbInput;
- delete output.pbData;
+ LocalFree(output.pbData);
return result;
}
@@ -204,10 +204,11 @@ QString Settings::deObfuscate(const QString &info)
QByteArray realInfo = QByteArray::fromBase64(info.toUtf8());
DATA_BLOB input;
DATA_BLOB output;
- BYTE *pbInput = new unsigned char[realInfo.size() + 1];
- memcpy(pbInput, realInfo.constData(), realInfo.size() + 1);
+ std::vector<uint8_t> data;
+ data.reserve(realInfo.size() + 1);
+ memcpy(data.data(), realInfo.constData(), realInfo.size() + 1);
DWORD cbInput = realInfo.size() + 1;
- input.pbData = pbInput;
+ input.pbData = data.data();
input.cbData = cbInput;
if (CryptUnprotectData(&input, NULL, NULL, NULL, NULL, 0, &output)) {
@@ -216,8 +217,7 @@ QString Settings::deObfuscate(const QString &info)
} else {
qCritical() << "Failed to decrypt data!";
}
- delete pbInput;
- delete output.pbData;
+ LocalFree(output.pbData);
return result;
}