]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: add array bounds check for null dentry lease
authorSage Weil <sage@newdream.net>
Tue, 16 Mar 2010 04:56:49 +0000 (21:56 -0700)
committerSage Weil <sage@newdream.net>
Tue, 16 Mar 2010 06:47:24 +0000 (23:47 -0700)
src/mds/Server.cc

index efe5da438b3d58483a152ab33bc2637ab795acb4..011d99a12bbd2b789b5b568b3a34a701a5e37e0c 100644 (file)
@@ -1696,7 +1696,7 @@ CInode* Server::rdlock_path_pin_ref(MDRequest *mdr, int n,
   int r = mdcache->path_traverse(mdr, 0, refpath, &mdr->dn[n], &mdr->in[n], MDS_TRAVERSE_FORWARD);
   if (r > 0) return false; // delayed
   if (r < 0) {  // error
-    if (r == -ENOENT && n == 0) {
+    if (r == -ENOENT && n == 0 && mdr->dn[n].size()) {
       reply_request(mdr, r, NULL, mdr->dn[n][mdr->dn[n].size()-1]);
     } else {
       reply_request(mdr, r);