From c210d8c434d5fa8f6c56bbbdb0cb993ddd697213 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 7 Apr 2017 16:20:00 +0200 Subject: Avoid crashing if we fail to resolve the local id. --- examples/imapresource/imapresource.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'examples') diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp index 50deacd..afa72fa 100644 --- a/examples/imapresource/imapresource.cpp +++ b/examples/imapresource/imapresource.cpp @@ -400,6 +400,9 @@ public: QByteArray getFolderFromLocalId(const QByteArray &id) { auto mailRemoteId = syncStore().resolveLocalId(ApplicationDomain::getTypeName(), id); + if (mailRemoteId.isEmpty()) { + return {}; + } return folderIdFromMailRid(mailRemoteId); } @@ -419,6 +422,10 @@ public: if (isIndividualMailSync(request)) { auto newId = request.query.ids().first(); auto requestFolder = getFolderFromLocalId(newId); + if (requestFolder.isEmpty()) { + SinkWarningCtx(mLogCtx) << "Failed to find folder for local id. Ignoring request: " << request.query; + return; + } for (auto &r : queue) { if (isIndividualMailSync(r)) { auto queueFolder = getFolderFromLocalId(r.query.ids().first()); -- cgit v1.2.3