summaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2018-10-08 13:21:38 +0530
committerShyamsundar Ranganathan <srangana@redhat.com>2018-10-09 19:17:21 +0000
commit3fa73bfdb5183cb8077d43c3c219c3fd9e9a1b65 (patch)
treebf6fbca90173b8028db68a99f94c4400ad41d120 /cli
parent8d4c5e022bba1b99786ce13f407c27024beccc23 (diff)
cli: memory leak issues reported by asan
With this fix, a run on 'rpc-coverage.t' passes properly. This should help to get started with other fixes soon! Change-Id: I257ae4e28b9974998a451d3b490cc18c02650ba2 updates: bz#1633930 Signed-off-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'cli')
-rwxr-xr-xcli/src/cli-rpc-ops.c11
-rw-r--r--cli/src/cli.c9
2 files changed, 16 insertions, 4 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c
index 694976b0e4a..aced9ce1605 100755
--- a/cli/src/cli-rpc-ops.c
+++ b/cli/src/cli-rpc-ops.c
@@ -4478,6 +4478,7 @@ gf_cli_get_state(call_frame_t *frame, xlator_t *this, void *data)
GLUSTER_CLI_GET_STATE, this, cli_rpc_prog, NULL);
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -4615,6 +4616,7 @@ gf_cli3_1_uuid_get(call_frame_t *frame, xlator_t *this, void *data)
this, cli_rpc_prog, NULL);
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -4638,6 +4640,7 @@ gf_cli3_1_uuid_reset(call_frame_t *frame, xlator_t *this, void *data)
GLUSTER_CLI_UUID_RESET, this, cli_rpc_prog, NULL);
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -4718,6 +4721,7 @@ gf_cli_start_volume(call_frame_t *frame, xlator_t *this, void *data)
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -4744,6 +4748,7 @@ gf_cli_stop_volume(call_frame_t *frame, xlator_t *this, void *data)
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -4770,6 +4775,7 @@ gf_cli_defrag_volume(call_frame_t *frame, xlator_t *this, void *data)
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -4830,6 +4836,7 @@ gf_cli_reset_volume(call_frame_t *frame, xlator_t *this, void *data)
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -4855,6 +4862,7 @@ gf_cli_set_volume(call_frame_t *frame, xlator_t *this, void *data)
out:
gf_log("cli", GF_LOG_DEBUG, "Returning %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -8473,6 +8481,7 @@ gf_cli_status_volume(call_frame_t *frame, xlator_t *this, void *data)
GLUSTER_CLI_STATUS_VOLUME, this, cli_rpc_prog, NULL);
out:
gf_log("cli", GF_LOG_DEBUG, "Returning: %d", ret);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -11172,6 +11181,7 @@ gf_cli_snapshot_for_delete(call_frame_t *frame, xlator_t *this, void *data)
out:
if (snap_dict)
dict_unref(snap_dict);
+ GF_FREE(req.dict.dict_val);
return ret;
}
@@ -11265,6 +11275,7 @@ gf_cli_snapshot_for_status(call_frame_t *frame, xlator_t *this, void *data)
out:
if (snap_dict)
dict_unref(snap_dict);
+ GF_FREE(req.dict.dict_val);
return ret;
}
diff --git a/cli/src/cli.c b/cli/src/cli.c
index 39a0984a134..d17566b6709 100644
--- a/cli/src/cli.c
+++ b/cli/src/cli.c
@@ -618,9 +618,6 @@ cli_rpc_init(struct cli_state *state)
this = THIS;
cli_rpc_prog = &cli_prog;
- options = dict_new();
- if (!options)
- goto out;
/* Connect to glusterd using the specified method, giving preference
* to a unix socket connection. If nothing is specified, connect to
@@ -640,6 +637,11 @@ cli_rpc_init(struct cli_state *state)
"Connecting to remote glusterd at "
"%s",
state->remote_host);
+
+ options = dict_new();
+ if (!options)
+ goto out;
+
ret = dict_set_str(options, "remote-host", state->remote_host);
if (ret)
goto out;
@@ -652,7 +654,6 @@ cli_rpc_init(struct cli_state *state)
goto out;
ret = dict_set_str(options, "transport.address-family", addr_family);
-
if (ret)
goto out;
} else {