summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt
diff options
context:
space:
mode:
authorGaurav Kumar Garg <ggarg@redhat.com>2015-04-11 01:03:13 +0530
committerKaushal M <kaushal@redhat.com>2015-05-05 03:49:33 -0700
commited9e9c3b1867867a828020b8569c0c7ab1d3be24 (patch)
treed8038feb8189614fc8eac3fc598a206af30da37c /xlators/mgmt
parent466289f75522c7e6662ccfd17cbe2f000667f77e (diff)
glusterd: Coverity fix
CID: 1293504 (Calling xlator_set_option without checking return value ) CID: 1293502 (Dereferencing a pointer that might be null xl when calling xlator_set_option) CID: 1293500 (Assigning value from dict_get_int32(dict, "type", &type) to ret here, but that stored value is overwritten before it can be used.) Change-Id: I5314fb399480df70bd77bc374e3b573f2efd5710 BUG: 1093692 Signed-off-by: Gaurav Kumar Garg <ggarg@redhat.com> Reviewed-on: http://review.gluster.org/10201 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: NetBSD Build System Reviewed-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'xlators/mgmt')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-brick-ops.c9
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c16
2 files changed, 21 insertions, 4 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
index c69d2ada238..4a39c6462fa 100644
--- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
@@ -467,6 +467,11 @@ __glusterd_handle_add_brick (rpcsvc_request_t *req)
}
ret = dict_get_int32 (dict, "type", &type);
+ if (ret) {
+ gf_log (this->name, GF_LOG_ERROR,
+ "failed to get type from dictionary");
+ goto out;
+ }
goto brick_val;
}
@@ -547,9 +552,11 @@ brick_val:
if (type != volinfo->type) {
ret = dict_set_int32 (dict, "type", type);
- if (ret)
+ if (ret) {
gf_log (this->name, GF_LOG_ERROR,
"failed to set the new type in dict");
+ goto out;
+ }
}
ret = glusterd_op_begin_synctask (req, GD_OP_ADD_BRICK, dict);
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index a56d6d5ccca..58328b553a4 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -3397,12 +3397,22 @@ volume_volgen_graph_build_clusters_tier (volgen_graph_t *graph,
hxl = first_of(graph);
- volinfo->type = GF_CLUSTER_TYPE_TIER;
+ volinfo->type = GF_CLUSTER_TYPE_TIER;
+
xl = volgen_graph_add_nolink (graph, "cluster/tier", "%s",
"tier-dht", 0);
+ if (!xl)
+ goto out;
+
gf_asprintf(&rule, "%s-hot-dht", st_volname);
- xlator_set_option(xl, "rule", rule);
- xlator_set_option(xl, "xattr-name", "trusted.tier-gfid");
+
+ ret = xlator_set_option(xl, "rule", rule);
+ if (ret)
+ goto out;
+
+ ret = xlator_set_option(xl, "xattr-name", "trusted.tier-gfid");
+ if (ret)
+ goto out;
ret = volgen_xlator_link (xl, cxl);
ret = volgen_xlator_link (xl, hxl);