QCryptographicHash: code tidies
Rename the resize() function of its internal buffer into the possibly better resizeForOverwrite(). The point is that unlike an ordinary resize the data in the buffer is NOT initialized, and therefore must be overwritten by the caller, "or else". Change-Id: I7d82821e92f59f7eeab18c51d98003826ffe164b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
This commit is contained in:
parent
ebfe4318b8
commit
400867693b
@ -236,7 +236,7 @@ public:
|
||||
qsizetype size() const noexcept { return qsizetype{m_size}; }
|
||||
bool isEmpty() const noexcept { return size() == 0; }
|
||||
void clear() noexcept { m_size = 0; }
|
||||
void resize(qsizetype s) {
|
||||
void resizeForOverwrite(qsizetype s) {
|
||||
Q_ASSERT(s >= 0);
|
||||
Q_ASSERT(s <= MaxHashLength);
|
||||
m_size = std::uint8_t(s);
|
||||
@ -272,7 +272,7 @@ void QCryptographicHashPrivate::sha3Finish(int bitCount, Sha3Variant sha3Variant
|
||||
*/
|
||||
static const unsigned char sha3FinalSuffix = 0x80;
|
||||
|
||||
result.resize(bitCount / 8);
|
||||
result.resizeForOverwrite(bitCount / 8);
|
||||
|
||||
SHA3Context copy = sha3Context;
|
||||
|
||||
@ -587,7 +587,7 @@ void QCryptographicHashPrivate::finalize() noexcept
|
||||
switch (method) {
|
||||
case QCryptographicHash::Sha1: {
|
||||
Sha1State copy = sha1Context;
|
||||
result.resize(20);
|
||||
result.resizeForOverwrite(20);
|
||||
sha1FinalizeState(©);
|
||||
sha1ToHash(©, (unsigned char *)result.data());
|
||||
break;
|
||||
@ -600,37 +600,37 @@ void QCryptographicHashPrivate::finalize() noexcept
|
||||
#else
|
||||
case QCryptographicHash::Md4: {
|
||||
md4_context copy = md4Context;
|
||||
result.resize(MD4_RESULTLEN);
|
||||
result.resizeForOverwrite(MD4_RESULTLEN);
|
||||
md4_final(©, (unsigned char *)result.data());
|
||||
break;
|
||||
}
|
||||
case QCryptographicHash::Md5: {
|
||||
MD5Context copy = md5Context;
|
||||
result.resize(16);
|
||||
result.resizeForOverwrite(16);
|
||||
MD5Final(©, (unsigned char *)result.data());
|
||||
break;
|
||||
}
|
||||
case QCryptographicHash::Sha224: {
|
||||
SHA224Context copy = sha224Context;
|
||||
result.resize(SHA224HashSize);
|
||||
result.resizeForOverwrite(SHA224HashSize);
|
||||
SHA224Result(©, reinterpret_cast<unsigned char *>(result.data()));
|
||||
break;
|
||||
}
|
||||
case QCryptographicHash::Sha256: {
|
||||
SHA256Context copy = sha256Context;
|
||||
result.resize(SHA256HashSize);
|
||||
result.resizeForOverwrite(SHA256HashSize);
|
||||
SHA256Result(©, reinterpret_cast<unsigned char *>(result.data()));
|
||||
break;
|
||||
}
|
||||
case QCryptographicHash::Sha384: {
|
||||
SHA384Context copy = sha384Context;
|
||||
result.resize(SHA384HashSize);
|
||||
result.resizeForOverwrite(SHA384HashSize);
|
||||
SHA384Result(©, reinterpret_cast<unsigned char *>(result.data()));
|
||||
break;
|
||||
}
|
||||
case QCryptographicHash::Sha512: {
|
||||
SHA512Context copy = sha512Context;
|
||||
result.resize(SHA512HashSize);
|
||||
result.resizeForOverwrite(SHA512HashSize);
|
||||
SHA512Result(©, reinterpret_cast<unsigned char *>(result.data()));
|
||||
break;
|
||||
}
|
||||
@ -654,7 +654,7 @@ void QCryptographicHashPrivate::finalize() noexcept
|
||||
case QCryptographicHash::Blake2b_512: {
|
||||
const auto length = hashLengthInternal(method);
|
||||
blake2b_state copy = blake2bContext;
|
||||
result.resize(length);
|
||||
result.resizeForOverwrite(length);
|
||||
blake2b_final(©, reinterpret_cast<uint8_t *>(result.data()), length);
|
||||
break;
|
||||
}
|
||||
@ -664,7 +664,7 @@ void QCryptographicHashPrivate::finalize() noexcept
|
||||
case QCryptographicHash::Blake2s_256: {
|
||||
const auto length = hashLengthInternal(method);
|
||||
blake2s_state copy = blake2sContext;
|
||||
result.resize(length);
|
||||
result.resizeForOverwrite(length);
|
||||
blake2s_final(©, reinterpret_cast<uint8_t *>(result.data()), length);
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user