From: Danny Al-Gaaf Date: Wed, 22 May 2013 13:42:52 +0000 (+0200) Subject: mds/MDS.cc: fix dereference null return value X-Git-Tag: v0.64~73^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fa3149d21e104d72a60cbab0879ba4577e3faea0;p=ceph.git mds/MDS.cc: fix dereference null return value Fix for: returned_null: Function "SessionMap::get_session(entity_name_t)" returns null (checked 12 out of 14 times) CID 739601 (#1 of 1): Dereference null return value (NULL_RETURNS) dereference: Dereferencing a pointer that might be null "this->sessionmap.get_session(entity_name_t::CLIENT(client.v))" when calling "MDS::send_message_client_counted(Message *, Session *)" Signed-off-by: Danny Al-Gaaf --- diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 935fb0c417ed..d5d6001151eb 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -386,8 +386,9 @@ void MDS::forward_message_mds(Message *m, int mds) void MDS::send_message_client_counted(Message *m, client_t client) { - if (sessionmap.have_session(entity_name_t::CLIENT(client.v))) { - send_message_client_counted(m, sessionmap.get_session(entity_name_t::CLIENT(client.v))); + Session *session = sessionmap.get_session(entity_name_t::CLIENT(client.v)); + if (session) { + send_message_client_counted(m, session); } else { dout(10) << "send_message_client_counted no session for client." << client << " " << *m << dendl; }