From: Sage Weil Date: Fri, 20 Nov 2009 22:07:16 +0000 (-0800) Subject: mon: fix use-after-free in mds mon blacklisting X-Git-Tag: v0.18~63 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bf3cd2803cd449a968527e2f5932d1309f38f739;p=ceph.git mon: fix use-after-free in mds mon blacklisting --- diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index a9f52b65af7c..8e7008139ea6 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -664,7 +664,6 @@ void MDSMonitor::tick() pending_mdsmap.up[info.rank] = sgid; pending_mdsmap.last_failure = pending_mdsmap.epoch; } - pending_mdsmap.mds_info.erase(gid); if (si.state > 0) { // blacklist @@ -673,6 +672,7 @@ void MDSMonitor::tick() mon->osdmon()->blacklist(info.addr, until); propose_osdmap = true; } + pending_mdsmap.mds_info.erase(gid); do_propose = true; } else if (info.state == MDSMap::STATE_STANDBY_REPLAY) {