summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSoumya Koduri <skoduri@redhat.com>2017-01-12 14:19:31 +0530
committerNiels de Vos <ndevos@redhat.com>2017-01-24 05:15:49 -0500
commit34bcf017e28b856f68e137ca4bb5bdf5291b23f5 (patch)
tree06adfb6aedbc1ed4ad2bff2d4ead577b07e9f485
parentbc1ce55a7c83c7f5394b26a65bd4a3a669b5962a (diff)
Upcall: Fix possible memleak when inode_ctx_set fails
In __upcall_inode_ctx_set(), if inode_ctx_set fails we should free allocated memory for ctx. This patch takes care of the same. This is backport of below mainline fix. http://review.gluster.org/16381 >Change-Id: Iafb42787151a579caf6f396c9b414ea48d16e6b4 >BUG: 1412489 >Reported-by: Nithya Balachandran <nbalacha@redhat.com> >Signed-off-by: Soumya Koduri <skoduri@redhat.com> >Reviewed-on: http://review.gluster.org/16381 >Reviewed-by: N Balachandran <nbalacha@redhat.com> >Smoke: Gluster Build System <jenkins@build.gluster.org> >NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> >CentOS-regression: Gluster Build System <jenkins@build.gluster.org> >Reviewed-by: Jeff Darcy <jdarcy@redhat.com> >(cherry picked from commit 84271e12efb783bfc83133329b0fd18aba729c84) Change-Id: Ia258f3fb12b92795aa7546708c6da5c91f70a08a BUG: 1414654 Reported-by: Nithya Balachandran <nbalacha@redhat.com> Signed-off-by: Soumya Koduri <skoduri@redhat.com> Reviewed-on: https://review.gluster.org/16430 Reviewed-by: N Balachandran <nbalacha@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Niels de Vos <ndevos@redhat.com>
-rw-r--r--xlators/features/upcall/src/upcall-internal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/features/upcall/src/upcall-internal.c b/xlators/features/upcall/src/upcall-internal.c
index 187c9eb92be..351696dd58a 100644
--- a/xlators/features/upcall/src/upcall-internal.c
+++ b/xlators/features/upcall/src/upcall-internal.c
@@ -183,6 +183,7 @@ __upcall_inode_ctx_set (inode_t *inode, xlator_t *this)
if (ret) {
gf_log (this->name, GF_LOG_DEBUG,
"failed to set inode ctx (%p)", inode);
+ GF_FREE (inode_ctx);
goto out;
}