From 00efa772f1b39db010e480bddb08c2e086d7b364 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 3 May 2017 21:31:53 +0200 Subject: Dont pass around buffers to potentially invalid memory. Once the transaction is done or some modification is executed that memory is no longer valid. So we always copy. --- common/storage_common.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'common') diff --git a/common/storage_common.cpp b/common/storage_common.cpp index 81a38c7..f648c94 100644 --- a/common/storage_common.cpp +++ b/common/storage_common.cpp @@ -113,7 +113,7 @@ QByteArray DataStore::getUidFromRevision(const DataStore::Transaction &transacti transaction.openDatabase("revisions") .scan(QByteArray::number(revision), [&](const QByteArray &, const QByteArray &value) -> bool { - uid = value; + uid = QByteArray{value.constData(), value.size()}; return false; }, [revision](const Error &error) { SinkWarning() << "Couldn't find uid for revision: " << revision << error.message; }); @@ -126,7 +126,7 @@ QByteArray DataStore::getTypeFromRevision(const DataStore::Transaction &transact transaction.openDatabase("revisionType") .scan(QByteArray::number(revision), [&](const QByteArray &, const QByteArray &value) -> bool { - type = value; + type = QByteArray{value.constData(), value.size()}; return false; }, [revision](const Error &error) { SinkWarning() << "Couldn't find type for revision " << revision; }); -- cgit v1.2.3