From 4e2c06b94346bc59abb7a2ce904d2a4f870d1fb5 Mon Sep 17 00:00:00 2001 From: Jonathan White Date: Sat, 12 Jul 2025 12:47:14 -0400 Subject: [PATCH] Add safeguard to using Argon2 function --- src/crypto/kdf/Argon2Kdf.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/crypto/kdf/Argon2Kdf.cpp b/src/crypto/kdf/Argon2Kdf.cpp index f7b028ffe..233463d57 100644 --- a/src/crypto/kdf/Argon2Kdf.cpp +++ b/src/crypto/kdf/Argon2Kdf.cpp @@ -163,6 +163,13 @@ QVariantMap Argon2Kdf::writeParameters() bool Argon2Kdf::transform(const QByteArray& raw, QByteArray& result) const { + // This is a programming error and will result in broken encryption + Q_ASSERT(*raw != *result); + if (*raw == *result) { + qWarning("Argon2Kdf: Input and output buffers must not be the same."); + return false; + } + result.clear(); result.resize(32); // Time Cost, Mem Cost, Threads/Lanes, Password, length, Salt, length, out, length