summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-03-10 13:50:30 +0100
committerMarc Mutz <marc.mutz@qt.io>2023-03-17 00:41:32 +0100
commit4ac7ac5b595cb1710a63d4dc917e65e20baca7a1 (patch)
treeaaa6940365b0fda08cd76e97b1e91bc160a485fe
parenta6bf36d409f5a5ba7cae7438142c37d786042429 (diff)
downloadqtbase-4ac7ac5b595cb1710a63d4dc917e65e20baca7a1.tar.gz
QCryptographicHash: fix missing EVP_DigestInit_ex() after EVP_MD_CTX_reset()
EVP_MD_CTX_reset() alone is not sufficient. A following EVP_DigestUpdate() crashes, so re-init the context, too. Amends 189444d8c4a1384479962e98e699bf1fd2908de8. Pick-to: 6.5 Change-Id: I5dede0adddd7f6b0c62540f6d45917b3236e3d02 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r--src/corelib/tools/qcryptographichash.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp
index ccf34312de..258a97b8e1 100644
--- a/src/corelib/tools/qcryptographichash.cpp
+++ b/src/corelib/tools/qcryptographichash.cpp
@@ -550,6 +550,7 @@ void QCryptographicHashPrivate::reset() noexcept
if (context && !initializationFailed) {
// everything already set up - just reset the context
EVP_MD_CTX_reset(context.get());
+ initializationFailed = !EVP_DigestInit_ex(context.get(), algorithm.get(), nullptr);
return;
}