ceph: fix dangling pointer
authorSage Weil <sage@newdream.net>
Thu, 11 Nov 2010 23:24:06 +0000 (15:24 -0800)
committerSage Weil <sage@newdream.net>
Thu, 11 Nov 2010 23:24:06 +0000 (15:24 -0800)
Clear fi->last_name when it's freed.  The only caller is rewinddir() (or
equivalent lseek).

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/dir.c

index e0a2dc6..1e11ed7 100644 (file)
@@ -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);