]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: don't falsely populate mds_sessions on bad MClientSession msg
authorSage Weil <sage@newdream.net>
Mon, 29 Aug 2011 16:20:53 +0000 (09:20 -0700)
committerSage Weil <sage@newdream.net>
Mon, 29 Aug 2011 16:31:16 +0000 (09:31 -0700)
If from isn't in the map, we don't want to add it via operator[].

Fixes: #1367
Signed-off-by: Sage Weil <sage@newdream.net>
src/client/Client.cc

index 096ea64744d04b2258ca3c98ae4c4e376f0112ba..ac19179f252c7e5ca56b37417f0e71fe0b21a7ef 100644 (file)
@@ -1213,7 +1213,10 @@ void Client::handle_client_session(MClientSession *m)
 {
   ldout(cct, 10) << "handle_client_session " << *m << dendl;
   int from = m->get_source().num();
-  MetaSession *mds_session = mds_sessions[from];
+  MetaSession *mds_session = NULL;
+  if (mds_sessions.count(from))
+    mds_session = mds_sessions[from];
+
   switch (m->get_op()) {
   case CEPH_SESSION_OPEN:
     if (!mds_session)