Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13115802
D3656.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
15 KB
Subscribers
None
D3656.diff
View Options
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
Details
Attached
Mime Type
text/plain
Expires
Sat, Mar 1, 12:08 (3 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5187781
Default Alt Text
D3656.diff (15 KB)
Attached To
D3656: Merge #10793: Changing &var[0] to var.data()
Event Timeline
Log In to Comment