Skip to content

Commit f66ec43

Browse files
committed
ews: add missing nullptr check to exmdb_client::read_message callsites
Fixes: gromox-2.9-76-ga603aeb8e Fixes: gromox-2.11-40-gd7dd56327
1 parent 316f1e4 commit f66ec43

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

exch/ews/context.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,8 +1032,9 @@ void EWSContext::loadSpecial(const std::string& dir, uint64_t fid, uint64_t mid,
10321032
auto& exmdb = m_plugin.exmdb;
10331033
if(special & sShape::MimeContent)
10341034
{
1035-
MESSAGE_CONTENT* content;
1036-
if(!exmdb.read_message(dir.c_str(), nullptr, CP_ACP, mid, &content))
1035+
MESSAGE_CONTENT *content = nullptr;
1036+
if (!exmdb.read_message(dir.c_str(), nullptr, CP_ACP, mid, &content) ||
1037+
content == nullptr)
10371038
throw EWSError::ItemNotFound(E3071);
10381039
MAIL mail;
10391040
auto getPropIds = [&](const PROPNAME_ARRAY* names, PROPID_ARRAY* ids)

exch/ews/requests.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1452,8 +1452,10 @@ void process(mSendItemRequest&& request, XMLElement* response, const EWSContext&
14521452
if(!(ctx.permissions(dir, folder.folderId) & frightsReadAny))
14531453
throw EWSError::AccessDenied(E3142);
14541454

1455-
MESSAGE_CONTENT* content;
1456-
if(!ctx.plugin().exmdb.read_message(dir.c_str(), ctx.effectiveUser(folder), CP_ACP, meid.messageId(), &content))
1455+
MESSAGE_CONTENT *content = nullptr;
1456+
if (!ctx.plugin().exmdb.read_message(dir.c_str(),
1457+
ctx.effectiveUser(folder), CP_ACP, meid.messageId(),
1458+
&content) || content == nullptr)
14571459
throw EWSError::ItemNotFound(E3143);
14581460
ctx.send(dir, *content);
14591461

0 commit comments

Comments
 (0)