From: Danny Al-Gaaf Date: Tue, 21 Feb 2017 13:31:53 +0000 (+0100) Subject: AsyncMessenger.cc: fix FORWARD_NULL X-Git-Tag: v12.0.2~116^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=372727789d22f35c0f54458701e76ec6e1c556f7;p=ceph.git AsyncMessenger.cc: fix FORWARD_NULL Use assert to ensure Message *m is not NULL. Fix for: CID 1399578 (#4 of 4): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer m to submit_message, which dereferences it. Signed-off-by: Danny Al-Gaaf --- diff --git a/src/msg/async/AsyncMessenger.cc b/src/msg/async/AsyncMessenger.cc index f7fc213fe30..b6345523747 100644 --- a/src/msg/async/AsyncMessenger.cc +++ b/src/msg/async/AsyncMessenger.cc @@ -533,9 +533,11 @@ ConnectionRef AsyncMessenger::get_loopback_connection() int AsyncMessenger::_send_message(Message *m, const entity_inst_t& dest) { FUNCTRACE(); - if (m && m->get_type() == CEPH_MSG_OSD_OP) + assert(m); + + if (m->get_type() == CEPH_MSG_OSD_OP) OID_EVENT_TRACE(((MOSDOp *)m)->get_oid().name.c_str(), "SEND_MSG_OSD_OP"); - else if (m && m->get_type() == CEPH_MSG_OSD_OPREPLY) + else if (m->get_type() == CEPH_MSG_OSD_OPREPLY) OID_EVENT_TRACE(((MOSDOpReply *)m)->get_oid().name.c_str(), "SEND_MSG_OSD_OP_REPLY"); ldout(cct, 1) << __func__ << "--> " << dest.name << " "