mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-01-13 16:30:29 -05:00
Warn if result of processInPlace() is unchecked.
Fix callers accordingly.
This commit is contained in:
parent
a762cef0a9
commit
f6243675c9
@ -59,11 +59,11 @@ public:
|
||||
return m_backend->process(data, ok);
|
||||
}
|
||||
|
||||
inline bool processInPlace(QByteArray& data) {
|
||||
inline bool processInPlace(QByteArray& data) Q_REQUIRED_RESULT {
|
||||
return m_backend->processInPlace(data);
|
||||
}
|
||||
|
||||
inline bool processInPlace(QByteArray& data, quint64 rounds) {
|
||||
inline bool processInPlace(QByteArray& data, quint64 rounds) Q_REQUIRED_RESULT {
|
||||
Q_ASSERT(rounds > 0);
|
||||
return m_backend->processInPlace(data, rounds);
|
||||
}
|
||||
|
@ -29,8 +29,8 @@ public:
|
||||
virtual bool setIv(const QByteArray& iv) = 0;
|
||||
|
||||
virtual QByteArray process(const QByteArray& data, bool* ok) = 0;
|
||||
virtual bool processInPlace(QByteArray& data) = 0;
|
||||
virtual bool processInPlace(QByteArray& data, quint64 rounds) = 0;
|
||||
virtual bool processInPlace(QByteArray& data) Q_REQUIRED_RESULT = 0;
|
||||
virtual bool processInPlace(QByteArray& data, quint64 rounds) Q_REQUIRED_RESULT = 0;
|
||||
|
||||
virtual bool reset() = 0;
|
||||
virtual int blockSize() const = 0;
|
||||
|
@ -35,8 +35,8 @@ public:
|
||||
bool setIv(const QByteArray& iv);
|
||||
|
||||
QByteArray process(const QByteArray& data, bool* ok);
|
||||
bool processInPlace(QByteArray& data);
|
||||
bool processInPlace(QByteArray& data, quint64 rounds);
|
||||
bool processInPlace(QByteArray& data) Q_REQUIRED_RESULT;
|
||||
bool processInPlace(QByteArray& data, quint64 rounds) Q_REQUIRED_RESULT;
|
||||
|
||||
bool reset();
|
||||
int blockSize() const;
|
||||
|
@ -29,7 +29,7 @@ public:
|
||||
bool init(const QByteArray& key);
|
||||
QByteArray randomBytes(int size, bool* ok);
|
||||
QByteArray process(const QByteArray& data, bool* ok);
|
||||
bool processInPlace(QByteArray& data);
|
||||
bool processInPlace(QByteArray& data) Q_REQUIRED_RESULT;
|
||||
QString errorString() const;
|
||||
|
||||
private:
|
||||
|
@ -877,7 +877,9 @@ QPair<QString, QString> KeePass2XmlReader::parseEntryBinary(Entry* entry)
|
||||
&& (attr.value("Protected") == "True");
|
||||
|
||||
if (isProtected && !value.isEmpty()) {
|
||||
m_randomStream->processInPlace(value);
|
||||
if (!m_randomStream->processInPlace(value)) {
|
||||
raiseError(m_randomStream->errorString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -186,7 +186,7 @@ void TransformKeyBenchmarkThread::run()
|
||||
t.start();
|
||||
|
||||
do {
|
||||
cipher.processInPlace(key, 100);
|
||||
Q_UNUSED(cipher.processInPlace(key, 100));
|
||||
m_rounds += 100;
|
||||
} while (t.elapsed() < m_msec);
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ void TestKeePass2RandomStream::test()
|
||||
|
||||
QByteArray cipherPad;
|
||||
cipherPad.fill('\0', Size);
|
||||
cipher.processInPlace(cipherPad);
|
||||
QVERIFY(cipher.processInPlace(cipherPad));
|
||||
|
||||
QByteArray cipherData;
|
||||
cipherData.resize(Size);
|
||||
@ -68,7 +68,7 @@ void TestKeePass2RandomStream::test()
|
||||
randomStreamData.append(randomStream.process(data.mid(7, 1), &ok));
|
||||
QVERIFY(ok);
|
||||
QByteArray tmpData = data.mid(8, 12);
|
||||
randomStream.processInPlace(tmpData);
|
||||
QVERIFY(randomStream.processInPlace(tmpData));
|
||||
randomStreamData.append(tmpData);
|
||||
randomStreamData.append(randomStream.process(data.mid(20, 44), &ok));
|
||||
QVERIFY(ok);
|
||||
|
Loading…
Reference in New Issue
Block a user