diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-05-03 21:29:28 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-05-03 21:29:28 +0200 |
commit | 9228b3ba170a0f68dbb432b2455c75d5fff21506 (patch) | |
tree | 0bfc3231b050efcfb7c5aec0664bd4739a6266f2 /common/storage/entitystore.cpp | |
parent | ca5020095abfb76e63bd801e9722c07193eb05f5 (diff) | |
download | sink-9228b3ba170a0f68dbb432b2455c75d5fff21506.tar.gz sink-9228b3ba170a0f68dbb432b2455c75d5fff21506.zip |
Sanity check db names
lmdb and sink deal badly with e.g. a string containing a null in the
millde as db name. Thus we try to protect better against it.
This is an actual problem we triggered: https://phabricator.kde.org/T5880
Diffstat (limited to 'common/storage/entitystore.cpp')
-rw-r--r-- | common/storage/entitystore.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/common/storage/entitystore.cpp b/common/storage/entitystore.cpp index b7309ab..4cb4641 100644 --- a/common/storage/entitystore.cpp +++ b/common/storage/entitystore.cpp | |||
@@ -320,6 +320,11 @@ void EntityStore::cleanupEntityRevisionsUntil(qint64 revision) | |||
320 | { | 320 | { |
321 | const auto uid = DataStore::getUidFromRevision(d->transaction, revision); | 321 | const auto uid = DataStore::getUidFromRevision(d->transaction, revision); |
322 | const auto bufferType = DataStore::getTypeFromRevision(d->transaction, revision); | 322 | const auto bufferType = DataStore::getTypeFromRevision(d->transaction, revision); |
323 | if (bufferType.isEmpty() || uid.isEmpty()) { | ||
324 | SinkErrorCtx(d->logCtx) << "Failed to find revision during cleanup: " << revision; | ||
325 | Q_ASSERT(false); | ||
326 | return; | ||
327 | } | ||
323 | SinkTraceCtx(d->logCtx) << "Cleaning up revision " << revision << uid << bufferType; | 328 | SinkTraceCtx(d->logCtx) << "Cleaning up revision " << revision << uid << bufferType; |
324 | DataStore::mainDatabase(d->transaction, bufferType) | 329 | DataStore::mainDatabase(d->transaction, bufferType) |
325 | .scan(uid, | 330 | .scan(uid, |