From: Yan, Zheng Date: Mon, 25 May 2015 03:35:01 +0000 (+0800) Subject: mds: fix use-after-free in SessionMap::remove_session X-Git-Tag: v9.0.2~120^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F4755%2Fhead;p=ceph.git mds: fix use-after-free in SessionMap::remove_session Fixes: #11752 Signed-off-by: Yan, Zheng --- diff --git a/src/mds/SessionMap.cc b/src/mds/SessionMap.cc index cd45b35f1888..faaeb2669d65 100644 --- a/src/mds/SessionMap.cc +++ b/src/mds/SessionMap.cc @@ -584,11 +584,11 @@ void SessionMap::remove_session(Session *s) s->trim_completed_requests(0); s->item_session_list.remove_myself(); session_map.erase(s->info.inst.name); - s->put(); if (dirty_sessions.count(s->info.inst.name)) { dirty_sessions.erase(s->info.inst.name); } null_sessions.insert(s->info.inst.name); + s->put(); } void SessionMap::touch_session(Session *session)