From 036980eb44ce0351a31cb2bbe91f42632dc265ec Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Thu, 24 Jul 2014 17:37:54 +0200 Subject: [PATCH] ISO C++ forbids variable length array --- servatrice/src/passwordhasher.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/servatrice/src/passwordhasher.cpp b/servatrice/src/passwordhasher.cpp index 785034b4..0d8cda36 100644 --- a/servatrice/src/passwordhasher.cpp +++ b/servatrice/src/passwordhasher.cpp @@ -18,12 +18,15 @@ QString PasswordHasher::computeHash(const QString &password, const QString &salt QByteArray passwordBuffer = (salt + password).toUtf8(); int hashLen = gcry_md_get_algo_dlen(algo); - char hash[hashLen], tmp[hashLen]; + char *hash = new char[hashLen], *tmp = new char[hashLen]; gcry_md_hash_buffer(algo, hash, passwordBuffer.data(), passwordBuffer.size()); for (int i = 1; i < rounds; ++i) { memcpy(tmp, hash, hashLen); gcry_md_hash_buffer(algo, hash, tmp, hashLen); } - return salt + QString(QByteArray(hash, hashLen).toBase64()); + QString hashedPass = salt + QString(QByteArray(hash, hashLen).toBase64()); + delete[] tmp; + delete[] hash; + return hashedPass; }