From 610d3cb22c6da822807dcf4fd1224d44f3f1f2e7 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 > Signed-off-by: Raghavendra Bhat Change-Id: Iea6c53c8db8b82189ef6c4a84dd3814349628ca3 BUG: 1180411 Reviewed-on: http://review.gluster.org/9426 Tested-by: Gluster Build System Reviewed-by: Sachin Pandit Reviewed-by: Raghavendra Bhat --- 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