浏览代码

ceph: fix dangling pointer

Clear fi->last_name when it's freed.  The only caller is rewinddir() (or
equivalent lseek).

Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil 14 年之前
父节点
当前提交
a1629c3b24
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      fs/ceph/dir.c

+ 1 - 0
fs/ceph/dir.c

@@ -414,6 +414,7 @@ static void reset_readdir(struct ceph_file_info *fi)
 		fi->last_readdir = NULL;
 	}
 	kfree(fi->last_name);
+	fi->last_name = NULL;
 	fi->next_offset = 2;  /* compensate for . and .. */
 	if (fi->dentry) {
 		dput(fi->dentry);