Page MenuHomePhabricator

D3656.diff
No OneTemporary

D3656.diff

diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp
--- a/src/qt/signverifymessagedialog.cpp
+++ b/src/qt/signverifymessagedialog.cpp
@@ -161,7 +161,7 @@
QString("</nobr>"));
ui->signatureOut_SM->setText(
- QString::fromStdString(EncodeBase64(&vchSig[0], vchSig.size())));
+ QString::fromStdString(EncodeBase64(vchSig.data(), vchSig.size())));
}
void SignVerifyMessageDialog::on_copySignatureButton_SM_clicked() {
diff --git a/src/qt/test/paymentservertests.cpp b/src/qt/test/paymentservertests.cpp
--- a/src/qt/test/paymentservertests.cpp
+++ b/src/qt/test/paymentservertests.cpp
@@ -23,7 +23,7 @@
X509 *parse_b64der_cert(const char *cert_data) {
std::vector<uint8_t> data = DecodeBase64(cert_data);
assert(data.size() > 0);
- const uint8_t *dptr = &data[0];
+ const uint8_t *dptr = data.data();
X509 *cert = d2i_X509(nullptr, &dptr, data.size());
assert(cert);
return cert;
@@ -42,7 +42,7 @@
// Write data to a temp file:
QTemporaryFile f;
f.open();
- f.write((const char *)&data[0], data.size());
+ f.write((const char *)data.data(), data.size());
f.close();
// Create a QObject, install event filter from PaymentServer and send a file
@@ -141,7 +141,7 @@
// Contains a testnet paytoaddress, so payment request network doesn't match
// client network:
data = DecodeBase64(paymentrequest1_cert2_BASE64);
- byteArray = QByteArray((const char *)&data[0], data.size());
+ byteArray = QByteArray((const char *)data.data(), data.size());
r.paymentRequest.parse(byteArray);
// Ensure the request is initialized, because network "main" is default,
// even for uninitialized payment requests and that will fail our test here.
@@ -151,7 +151,7 @@
// Expired payment request (expires is set to 1 = 1970-01-01 00:00:01):
data = DecodeBase64(paymentrequest2_cert2_BASE64);
- byteArray = QByteArray((const char *)&data[0], data.size());
+ byteArray = QByteArray((const char *)data.data(), data.size());
r.paymentRequest.parse(byteArray);
// Ensure the request is initialized
QVERIFY(r.paymentRequest.IsInitialized());
@@ -164,7 +164,7 @@
// (int32_t)
// -1 is 1969-12-31 23:59:59 (for a 32 bit time values)
data = DecodeBase64(paymentrequest3_cert2_BASE64);
- byteArray = QByteArray((const char *)&data[0], data.size());
+ byteArray = QByteArray((const char *)data.data(), data.size());
r.paymentRequest.parse(byteArray);
// Ensure the request is initialized
QVERIFY(r.paymentRequest.IsInitialized());
@@ -179,7 +179,7 @@
// (int32_t)
// 0 is 1970-01-01 00:00:00 (for a 32 bit time values)
data = DecodeBase64(paymentrequest4_cert2_BASE64);
- byteArray = QByteArray((const char *)&data[0], data.size());
+ byteArray = QByteArray((const char *)data.data(), data.size());
r.paymentRequest.parse(byteArray);
// Ensure the request is initialized
QVERIFY(r.paymentRequest.IsInitialized());
@@ -200,7 +200,7 @@
// Payment request with amount overflow (amount is set to 21000001 BCH):
data = DecodeBase64(paymentrequest5_cert2_BASE64);
- byteArray = QByteArray((const char *)&data[0], data.size());
+ byteArray = QByteArray((const char *)data.data(), data.size());
r.paymentRequest.parse(byteArray);
// Ensure the request is initialized
QVERIFY(r.paymentRequest.IsInitialized());
diff --git a/src/rpc/misc.cpp b/src/rpc/misc.cpp
--- a/src/rpc/misc.cpp
+++ b/src/rpc/misc.cpp
@@ -308,7 +308,7 @@
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Sign failed");
}
- return EncodeBase64(&vchSig[0], vchSig.size());
+ return EncodeBase64(vchSig.data(), vchSig.size());
}
static UniValue setmocktime(const Config &config,
diff --git a/src/test/bip32_tests.cpp b/src/test/bip32_tests.cpp
--- a/src/test/bip32_tests.cpp
+++ b/src/test/bip32_tests.cpp
@@ -98,7 +98,7 @@
std::vector<uint8_t> seed = ParseHex(test.strHexMaster);
CExtKey key;
CExtPubKey pubkey;
- key.SetMaster(&seed[0], seed.size());
+ key.SetMaster(seed.data(), seed.size());
pubkey = key.Neuter();
for (const TestDerivation &derive : test.vDerive) {
uint8_t data[74];
diff --git a/src/test/bloom_tests.cpp b/src/test/bloom_tests.cpp
--- a/src/test/bloom_tests.cpp
+++ b/src/test/bloom_tests.cpp
@@ -238,9 +238,9 @@
COutPoint prevOutPoint(txid, 0);
{
std::vector<uint8_t> data(32 + sizeof(uint32_t));
- memcpy(&data[0], prevOutPoint.GetTxId().begin(), 32);
+ memcpy(data.data(), prevOutPoint.GetTxId().begin(), 32);
uint32_t n = prevOutPoint.GetN();
- memcpy(&data[32], &n, sizeof(uint32_t));
+ memcpy(data.data() + 32, &n, sizeof(uint32_t));
filter.insert(data);
}
BOOST_CHECK_MESSAGE(
diff --git a/src/test/crypto_tests.cpp b/src/test/crypto_tests.cpp
--- a/src/test/crypto_tests.cpp
+++ b/src/test/crypto_tests.cpp
@@ -74,14 +74,14 @@
static void TestHMACSHA256(const std::string &hexkey, const std::string &hexin,
const std::string &hexout) {
std::vector<uint8_t> key = ParseHex(hexkey);
- TestVector(CHMAC_SHA256(&key[0], key.size()), ParseHex(hexin),
+ TestVector(CHMAC_SHA256(key.data(), key.size()), ParseHex(hexin),
ParseHex(hexout));
}
static void TestHMACSHA512(const std::string &hexkey, const std::string &hexin,
const std::string &hexout) {
std::vector<uint8_t> key = ParseHex(hexkey);
- TestVector(CHMAC_SHA512(&key[0], key.size()), ParseHex(hexin),
+ TestVector(CHMAC_SHA512(key.data(), key.size()), ParseHex(hexin),
ParseHex(hexout));
}
@@ -95,13 +95,13 @@
assert(key.size() == 16);
assert(in.size() == 16);
assert(correctout.size() == 16);
- AES128Encrypt enc(&key[0]);
+ AES128Encrypt enc(key.data());
buf.resize(correctout.size());
buf2.resize(correctout.size());
- enc.Encrypt(&buf[0], &in[0]);
+ enc.Encrypt(buf.data(), in.data());
BOOST_CHECK_EQUAL(HexStr(buf), HexStr(correctout));
- AES128Decrypt dec(&key[0]);
- dec.Decrypt(&buf2[0], &buf[0]);
+ AES128Decrypt dec(key.data());
+ dec.Decrypt(buf2.data(), buf.data());
BOOST_CHECK_EQUAL(HexStr(buf2), HexStr(in));
}
@@ -115,12 +115,12 @@
assert(key.size() == 32);
assert(in.size() == 16);
assert(correctout.size() == 16);
- AES256Encrypt enc(&key[0]);
+ AES256Encrypt enc(key.data());
buf.resize(correctout.size());
- enc.Encrypt(&buf[0], &in[0]);
+ enc.Encrypt(buf.data(), in.data());
BOOST_CHECK(buf == correctout);
- AES256Decrypt dec(&key[0]);
- dec.Decrypt(&buf[0], &buf[0]);
+ AES256Decrypt dec(key.data());
+ dec.Decrypt(buf.data(), buf.data());
BOOST_CHECK(buf == in);
}
@@ -134,8 +134,8 @@
std::vector<uint8_t> realout(in.size() + AES_BLOCKSIZE);
// Encrypt the plaintext and verify that it equals the cipher
- AES128CBCEncrypt enc(&key[0], &iv[0], pad);
- int size = enc.Encrypt(&in[0], in.size(), &realout[0]);
+ AES128CBCEncrypt enc(key.data(), iv.data(), pad);
+ int size = enc.Encrypt(in.data(), in.size(), realout.data());
realout.resize(size);
BOOST_CHECK(realout.size() == correctout.size());
BOOST_CHECK_MESSAGE(realout == correctout,
@@ -143,8 +143,8 @@
// Decrypt the cipher and verify that it equals the plaintext
std::vector<uint8_t> decrypted(correctout.size());
- AES128CBCDecrypt dec(&key[0], &iv[0], pad);
- size = dec.Decrypt(&correctout[0], correctout.size(), &decrypted[0]);
+ AES128CBCDecrypt dec(key.data(), iv.data(), pad);
+ size = dec.Decrypt(correctout.data(), correctout.size(), decrypted.data());
decrypted.resize(size);
BOOST_CHECK(decrypted.size() == in.size());
BOOST_CHECK_MESSAGE(decrypted == in,
@@ -155,11 +155,12 @@
for (std::vector<uint8_t>::iterator i(in.begin()); i != in.end(); ++i) {
std::vector<uint8_t> sub(i, in.end());
std::vector<uint8_t> subout(sub.size() + AES_BLOCKSIZE);
- int _size = enc.Encrypt(&sub[0], sub.size(), &subout[0]);
+ int _size = enc.Encrypt(sub.data(), sub.size(), subout.data());
if (_size != 0) {
subout.resize(_size);
std::vector<uint8_t> subdecrypted(subout.size());
- _size = dec.Decrypt(&subout[0], subout.size(), &subdecrypted[0]);
+ _size =
+ dec.Decrypt(subout.data(), subout.size(), subdecrypted.data());
subdecrypted.resize(_size);
BOOST_CHECK(decrypted.size() == in.size());
BOOST_CHECK_MESSAGE(subdecrypted == sub, HexStr(subdecrypted) +
@@ -179,8 +180,8 @@
std::vector<uint8_t> realout(in.size() + AES_BLOCKSIZE);
// Encrypt the plaintext and verify that it equals the cipher
- AES256CBCEncrypt enc(&key[0], &iv[0], pad);
- int size = enc.Encrypt(&in[0], in.size(), &realout[0]);
+ AES256CBCEncrypt enc(key.data(), iv.data(), pad);
+ int size = enc.Encrypt(in.data(), in.size(), realout.data());
realout.resize(size);
BOOST_CHECK(realout.size() == correctout.size());
BOOST_CHECK_MESSAGE(realout == correctout,
@@ -188,8 +189,8 @@
// Decrypt the cipher and verify that it equals the plaintext
std::vector<uint8_t> decrypted(correctout.size());
- AES256CBCDecrypt dec(&key[0], &iv[0], pad);
- size = dec.Decrypt(&correctout[0], correctout.size(), &decrypted[0]);
+ AES256CBCDecrypt dec(key.data(), iv.data(), pad);
+ size = dec.Decrypt(correctout.data(), correctout.size(), decrypted.data());
decrypted.resize(size);
BOOST_CHECK(decrypted.size() == in.size());
BOOST_CHECK_MESSAGE(decrypted == in,
@@ -200,11 +201,12 @@
for (std::vector<uint8_t>::iterator i(in.begin()); i != in.end(); ++i) {
std::vector<uint8_t> sub(i, in.end());
std::vector<uint8_t> subout(sub.size() + AES_BLOCKSIZE);
- int _size = enc.Encrypt(&sub[0], sub.size(), &subout[0]);
+ int _size = enc.Encrypt(sub.data(), sub.size(), subout.data());
if (_size != 0) {
subout.resize(_size);
std::vector<uint8_t> subdecrypted(subout.size());
- _size = dec.Decrypt(&subout[0], subout.size(), &subdecrypted[0]);
+ _size =
+ dec.Decrypt(subout.data(), subout.size(), subdecrypted.data());
subdecrypted.resize(_size);
BOOST_CHECK(decrypted.size() == in.size());
BOOST_CHECK_MESSAGE(subdecrypted == sub, HexStr(subdecrypted) +
diff --git a/src/test/getarg_tests.cpp b/src/test/getarg_tests.cpp
--- a/src/test/getarg_tests.cpp
+++ b/src/test/getarg_tests.cpp
@@ -29,7 +29,7 @@
vecChar.push_back(s.c_str());
}
- gArgs.ParseParameters(vecChar.size(), &vecChar[0]);
+ gArgs.ParseParameters(vecChar.size(), vecChar.data());
}
BOOST_AUTO_TEST_CASE(boolarg) {
diff --git a/src/test/skiplist_tests.cpp b/src/test/skiplist_tests.cpp
--- a/src/test/skiplist_tests.cpp
+++ b/src/test/skiplist_tests.cpp
@@ -40,7 +40,7 @@
BOOST_CHECK(vIndex[SKIPLIST_LENGTH - 1].GetAncestor(from) ==
&vIndex[from]);
BOOST_CHECK(vIndex[from].GetAncestor(to) == &vIndex[to]);
- BOOST_CHECK(vIndex[from].GetAncestor(0) == &vIndex[0]);
+ BOOST_CHECK(vIndex[from].GetAncestor(0) == vIndex.data());
}
}
@@ -71,7 +71,8 @@
// Add 1<<128 to the hashes, so GetLow64() still returns the height.
vHashSide[i] = ArithToUint256(i + 50000 + (arith_uint256(1) << 128));
vBlocksSide[i].nHeight = i + 50000;
- vBlocksSide[i].pprev = i ? &vBlocksSide[i - 1] : &vBlocksMain[49999];
+ vBlocksSide[i].pprev =
+ i ? &vBlocksSide[i - 1] : (vBlocksMain.data() + 49999);
vBlocksSide[i].phashBlock = &vHashSide[i];
vBlocksSide[i].BuildSkip();
BOOST_CHECK_EQUAL(
diff --git a/src/test/test_bitcoin_fuzzy.cpp b/src/test/test_bitcoin_fuzzy.cpp
--- a/src/test/test_bitcoin_fuzzy.cpp
+++ b/src/test/test_bitcoin_fuzzy.cpp
@@ -65,7 +65,7 @@
if (buffer.size() < sizeof(uint32_t)) return 0;
uint32_t test_id = 0xffffffff;
- memcpy(&test_id, &buffer[0], sizeof(uint32_t));
+ memcpy(&test_id, buffer.data(), sizeof(uint32_t));
buffer.erase(buffer.begin(), buffer.begin() + sizeof(uint32_t));
if (test_id >= TEST_ID_END) return 0;
diff --git a/src/uint256.cpp b/src/uint256.cpp
--- a/src/uint256.cpp
+++ b/src/uint256.cpp
@@ -13,7 +13,7 @@
template <unsigned int BITS>
base_blob<BITS>::base_blob(const std::vector<uint8_t> &vch) {
assert(vch.size() == sizeof(data));
- memcpy(data, &vch[0], sizeof(data));
+ memcpy(data, vch.data(), sizeof(data));
}
template <unsigned int BITS> std::string base_blob<BITS>::GetHex() const {
diff --git a/src/wallet/crypter.cpp b/src/wallet/crypter.cpp
--- a/src/wallet/crypter.cpp
+++ b/src/wallet/crypter.cpp
@@ -28,9 +28,7 @@
CSHA512 di;
di.Write((const uint8_t *)strKeyData.c_str(), strKeyData.size());
- if (chSalt.size()) {
- di.Write(&chSalt[0], chSalt.size());
- }
+ di.Write(chSalt.data(), chSalt.size());
di.Finalize(buf);
for (int i = 0; i != count - 1; i++) {
@@ -92,8 +90,8 @@
vchCiphertext.resize(vchPlaintext.size() + AES_BLOCKSIZE);
AES256CBCEncrypt enc(vchKey.data(), vchIV.data(), true);
- size_t nLen =
- enc.Encrypt(&vchPlaintext[0], vchPlaintext.size(), &vchCiphertext[0]);
+ size_t nLen = enc.Encrypt(vchPlaintext.data(), vchPlaintext.size(),
+ vchCiphertext.data());
if (nLen < vchPlaintext.size()) {
return false;
}
@@ -114,8 +112,8 @@
vchPlaintext.resize(nLen);
AES256CBCDecrypt dec(vchKey.data(), vchIV.data(), true);
- nLen =
- dec.Decrypt(&vchCiphertext[0], vchCiphertext.size(), &vchPlaintext[0]);
+ nLen = dec.Decrypt(vchCiphertext.data(), vchCiphertext.size(),
+ vchPlaintext.data());
if (nLen == 0) {
return false;
}
@@ -129,7 +127,7 @@
std::vector<uint8_t> &vchCiphertext) {
CCrypter cKeyCrypter;
std::vector<uint8_t> chIV(WALLET_CRYPTO_IV_SIZE);
- memcpy(&chIV[0], &nIV, WALLET_CRYPTO_IV_SIZE);
+ memcpy(chIV.data(), &nIV, WALLET_CRYPTO_IV_SIZE);
if (!cKeyCrypter.SetKey(vMasterKey, chIV)) {
return false;
}
@@ -142,7 +140,7 @@
const uint256 &nIV, CKeyingMaterial &vchPlaintext) {
CCrypter cKeyCrypter;
std::vector<uint8_t> chIV(WALLET_CRYPTO_IV_SIZE);
- memcpy(&chIV[0], &nIV, WALLET_CRYPTO_IV_SIZE);
+ memcpy(chIV.data(), &nIV, WALLET_CRYPTO_IV_SIZE);
if (!cKeyCrypter.SetKey(vMasterKey, chIV)) {
return false;
}
diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp
--- a/src/wallet/rpcwallet.cpp
+++ b/src/wallet/rpcwallet.cpp
@@ -737,7 +737,7 @@
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Sign failed");
}
- return EncodeBase64(&vchSig[0], vchSig.size());
+ return EncodeBase64(vchSig.data(), vchSig.size());
}
static UniValue getreceivedbyaddress(const Config &config,
diff --git a/src/wallet/test/wallet_crypto_tests.cpp b/src/wallet/test/wallet_crypto_tests.cpp
--- a/src/wallet/test/wallet_crypto_tests.cpp
+++ b/src/wallet/test/wallet_crypto_tests.cpp
@@ -107,7 +107,7 @@
std::string hash(GetRandHash().ToString());
std::vector<uint8_t> vchSalt(8);
- GetRandBytes(&vchSalt[0], vchSalt.size());
+ GetRandBytes(vchSalt.data(), vchSalt.size());
uint32_t rounds = InsecureRand32();
if (rounds > 30000) rounds = 30000;
TestCrypter::TestPassphrase(vchSalt, SecureString(hash.begin(), hash.end()),

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 1, 12:08 (25 m, 3 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5187781
Default Alt Text
D3656.diff (15 KB)

Event Timeline