summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorManikandan Selvaganesh <mselvaga@redhat.com>2015-11-23 15:58:42 +0530
committerVijay Bellur <vbellur@redhat.com>2015-11-24 19:13:31 -0800
commita058fb06aa8591d61eab8b1b95c74740938263b7 (patch)
treecf2b4629fa540606520da1b3a7fe5a9f12f18d01 /xlators
parent69e74432ee1ab29ba7caf483450997a95920b729 (diff)
marker : fixing memory leak issue in marker
In marker_readdirp_cbk, variable resolvedpath is not properly freed and because of which there was a memory leak. The patch fixes it. Backport of http://review.gluster.org/#/c/12719/ > Change-Id: I9d80f72e3551aa912369257da3e8e2b261a2067f > BUG: 1284419 > Signed-off-by: Manikandan Selvaganesh <mselvaga@redhat.com> > Reviewed-on: http://review.gluster.org/12719 > Reviewed-by: Vijaikumar Mallikarjuna <vmallika@redhat.com> > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Vijay Bellur <vbellur@redhat.com> Change-Id: I9d80f72e3551aa912369257da3e8e2b261a2067f BUG: 1284850 Signed-off-by: Manikandan Selvaganesh <mselvaga@redhat.com> Reviewed-on: http://review.gluster.org/12733 Tested-by: NetBSD Build System <jenkins@build.gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/features/marker/src/marker.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/xlators/features/marker/src/marker.c b/xlators/features/marker/src/marker.c
index 1fd7a45d2a4..a3d44a078e2 100644
--- a/xlators/features/marker/src/marker.c
+++ b/xlators/features/marker/src/marker.c
@@ -2960,19 +2960,11 @@ marker_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
continue;
}
- loc.path = gf_strdup (resolvedpath);
- if (!loc.path) {
- gf_log (this->name, GF_LOG_ERROR, "strdup of path "
- "failed for the entry %s (path: %s)",
- entry->d_name, resolvedpath);
- loc_wipe (&loc);
- continue;
- }
+ loc.path = resolvedpath;
+ resolvedpath = NULL;
mq_xattr_state (this, &loc, entry->dict, entry->d_stat);
loc_wipe (&loc);
- GF_FREE (resolvedpath);
- resolvedpath = NULL;
ret = marker_key_set_ver (this, entry->dict);
if (ret < 0) {