From: Yan, Zheng Date: Mon, 11 Nov 2019 15:28:16 +0000 (+0800) Subject: mds: fix invalid access of mdr->dn[0].back() X-Git-Tag: v15.1.0~822^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e906001b860b8c1b403ee4acd04818fe8bb8e801;p=ceph.git mds: fix invalid access of mdr->dn[0].back() Introduced by commit 79abdcb31af Signed-off-by: "Yan, Zheng" Fixes: https://tracker.ceph.com/issues/42746 --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index e7472abdf812..83106de5122c 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -9365,12 +9365,12 @@ void MDCache::request_forward(MDRequestRef& mdr, mds_rank_t who, int port) } case CEPH_MDS_OP_LOOKUP: { - CDentry* dn = mdr->dn[0].back(); - if (dn) { + if (mdr->dn[0].size()) { + CDentry* dn = mdr->dn[0].back(); auto it = dn->batch_ops.find(mask); if (it != dn->batch_ops.end()) { - it->second->forward(who); - dn->batch_ops.erase(it); + it->second->forward(who); + dn->batch_ops.erase(it); } } break;