From 7bf882ed1757f8b01d18d35ef869ed2cd49f1b2f Mon Sep 17 00:00:00 2001 From: Prasanna Kumar Kalever Date: Mon, 2 May 2016 19:06:47 +0530 Subject: geo-rep: address potential leak of memory fix memory leak reported by clang analyzer: gsyncd.c:411:17: warning: Potential leak of memory pointed to by 'argv' in main() Change-Id: I179fb1c095cf4d331b5910df6388dc724cb4ac96 BUG: 1332419 Signed-off-by: Prasanna Kumar Kalever Reviewed-on: http://review.gluster.org/14151 NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Smoke: Gluster Build System Reviewed-by: Kotresh HR --- geo-replication/src/gsyncd.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'geo-replication') diff --git a/geo-replication/src/gsyncd.c b/geo-replication/src/gsyncd.c index 1beeda1380c..2c48ca5d540 100644 --- a/geo-replication/src/gsyncd.c +++ b/geo-replication/src/gsyncd.c @@ -407,11 +407,18 @@ main (int argc, char **argv) return invoke_gsyncd (argc, argv); argc = str2argv (sargv, &argv); - if (argc == -1 || setenv (_GSYNCD_DISPATCHED_, "1", 1) == -1) { + + if (argc == -1) { fprintf (stderr, "internal error\n"); return 1; } + if (setenv (_GSYNCD_DISPATCHED_, "1", 1) == -1) { + fprintf (stderr, "internal error\n"); + goto out; + } + + b = basename (argv[0]); for (i = invocables; i->name; i++) { if (strcmp (b, i->name) == 0) @@ -421,6 +428,7 @@ main (int argc, char **argv) fprintf (stderr, "invoking %s in restricted SSH session is not allowed\n", b); +out: for (j = 1; j < argc; j++) free(argv[j]); free(argv); -- cgit