From e906001b860b8c1b403ee4acd04818fe8bb8e801 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Mon, 11 Nov 2019 23:28:16 +0800 Subject: [PATCH] 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 --- src/mds/MDCache.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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; -- 2.47.3