Browse Source

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 years ago
parent
commit
a1629c3b24
1 changed files with 1 additions and 0 deletions
  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);