From d0b07fae1fece688333888cfc408bc7c031ae8bf Mon Sep 17 00:00:00 2001 From: Raghavendra Bhat Date: Wed, 7 Jan 2015 15:16:32 +0530 Subject: avoid memory leaks in snapview-server * snapview-server in readdirp, creates the inode for entries with names "." and ".." for each readdirp operation without creating dentries leading to memleak. It should have avoided creation of inodes for those entries Change-Id: I3b2025fd10872fcc3303d0becec764ffd4e37601 BUG: 1179663 Signed-off-by: Raghavendra Bhat Reviewed-on: http://review.gluster.org/9404 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/features/snapview-server/src/snapview-server.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xlators/features/snapview-server/src/snapview-server.c b/xlators/features/snapview-server/src/snapview-server.c index 040f444f82f..4df7864b1bf 100644 --- a/xlators/features/snapview-server/src/snapview-server.c +++ b/xlators/features/snapview-server/src/snapview-server.c @@ -1335,6 +1335,9 @@ svs_readdirp_fill (xlator_t *this, inode_t *parent, svs_inode_t *parent_ctx, GF_VALIDATE_OR_GOTO (this->name, parent_ctx, out); GF_VALIDATE_OR_GOTO (this->name, entry, out); + if (!strcmp (entry->d_name, ".") || !strcmp (entry->d_name, "..")) + goto out; + inode = inode_grep (parent->table, parent, entry->d_name); if (inode) { entry->inode = inode; -- cgit