From 788cda4cd36574092bef1449ecda579163d06776 Mon Sep 17 00:00:00 2001 From: Bhumika Goyal Date: Sat, 18 Aug 2018 00:06:58 +0530 Subject: glusterd: fix some coverity issues Fixes CID: 1241481 1241482 1274079 1274118 1274121 1274131 1274198 1274214 1274220 1274224 1394663 1394641 382454 1382453 1382449 1288095 Link: https://scan6.coverity.com/reports.htm#v42388/p10714/fileInstanceId=84772667&defectInstanceId=25770661&mergedDefectId=744716 Change-Id: Idaf434186231c8b0fff4b27c57fa23636a89c8a7 updates: bz#789278 Signed-off-by: Bhumika Goyal --- xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 2 +- xlators/mgmt/glusterd/src/glusterd-gfproxyd-svc.c | 1 + xlators/mgmt/glusterd/src/glusterd-handler.c | 2 +- xlators/mgmt/glusterd/src/glusterd-op-sm.c | 5 ++++- xlators/mgmt/glusterd/src/glusterd-quota.c | 3 ++- xlators/mgmt/glusterd/src/glusterd-rpc-ops.c | 2 +- xlators/mgmt/glusterd/src/glusterd-store.c | 13 +++---------- xlators/mgmt/glusterd/src/glusterd-syncop.c | 4 ++-- xlators/mgmt/glusterd/src/glusterd-utils.c | 6 ++++++ 9 files changed, 21 insertions(+), 17 deletions(-) (limited to 'xlators/mgmt') diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index eb85b3c263a..7925f6e5767 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -1681,7 +1681,7 @@ glusterd_op_stage_add_brick (dict_t *dict, char **op_errstr, dict_t *rsp_dict) char *str_ret = NULL; gf_boolean_t is_force = _gf_false; glusterd_conf_t *conf = NULL; - uint32_t len = 0; + int32_t len = 0; this = THIS; GF_ASSERT (this); diff --git a/xlators/mgmt/glusterd/src/glusterd-gfproxyd-svc.c b/xlators/mgmt/glusterd/src/glusterd-gfproxyd-svc.c index 9ac649db60d..7f2e92614eb 100644 --- a/xlators/mgmt/glusterd/src/glusterd-gfproxyd-svc.c +++ b/xlators/mgmt/glusterd/src/glusterd-gfproxyd-svc.c @@ -229,6 +229,7 @@ glusterd_gfproxydsvc_manager (glusterd_svc_t *svc, void *data, int flags) ret = glusterd_conn_connect (&(svc->conn)); if (ret) { glusterd_volinfo_unref (volinfo); + volinfo = NULL; goto out; } diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index e37245d14a5..0f7f15000cb 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -2754,7 +2754,7 @@ __glusterd_handle_friend_update (rpcsvc_request_t *req) goto out; if (GD_FRIEND_UPDATE_DEL == op) { - ret = glusterd_handle_friend_update_delete (dict); + (void) glusterd_handle_friend_update_delete (dict); goto out; } diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index a7f00296906..9d578349807 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -1730,8 +1730,11 @@ glusterd_op_stage_reset_volume (dict_t *dict, char **op_errstr) } else if (strcmp (key, "cluster.watermark-hi") == 0) { ret = glusterd_water_limit_check (volinfo, _gf_true, op_errstr); - if (ret) + if (ret) { + if (key_fixed) + GF_FREE (key_fixed); return ret; + } } if (!exists) { diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c index 6ca7da8f1d0..e1385e6cd9d 100644 --- a/xlators/mgmt/glusterd/src/glusterd-quota.c +++ b/xlators/mgmt/glusterd/src/glusterd-quota.c @@ -1728,7 +1728,8 @@ glusterd_op_quota (dict_t *dict, char **op_errstr, dict_t *rsp_dict) if (GLUSTERD_STATUS_STARTED == volinfo->status) { if (priv->op_version == GD_OP_VERSION_MIN) - ret = priv->nfs_svc.manager (&(priv->nfs_svc), NULL, 0); + (void) priv->nfs_svc.manager (&(priv->nfs_svc), + NULL, 0); } if (rsp_dict && start_crawl == _gf_true) diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c index d9eb7898034..62deb5906ee 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c @@ -458,7 +458,7 @@ __glusterd_friend_add_cbk (struct rpc_req * req, struct iovec *iov, glusterd_friend_sm_event_type_t event_type = GD_FRIEND_EVENT_NONE; glusterd_peerinfo_t *peerinfo = NULL; int32_t op_ret = -1; - int32_t op_errno = -1; + int32_t op_errno = EINVAL; glusterd_probe_ctx_t *ctx = NULL; glusterd_friend_update_ctx_t *ev_ctx = NULL; diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index 028fb78857e..6dd9764875b 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -1858,14 +1858,12 @@ glusterd_store_delete_volume (glusterd_volinfo_t *volinfo) "%s/"GLUSTERD_TRASH"/%s.deleted", priv->workdir, uuid_utoa (volinfo->volume_id)); if ((len < 0) || (len >= sizeof(delete_path))) { - ret = -1; goto out; } len = snprintf (trashdir, sizeof (trashdir), "%s/"GLUSTERD_TRASH, priv->workdir); if ((len < 0) || (len >= sizeof(trashdir))) { - ret = -1; goto out; } @@ -1874,7 +1872,6 @@ glusterd_store_delete_volume (glusterd_volinfo_t *volinfo) gf_msg (this->name, GF_LOG_ERROR, errno, GD_MSG_CREATE_DIR_FAILED, "Failed to create trash " "directory"); - ret = -1; goto out; } @@ -1934,14 +1931,12 @@ glusterd_store_delete_snap (glusterd_snap_t *snap) "%s/"GLUSTERD_TRASH"/snap-%s.deleted", priv->workdir, uuid_utoa (snap->snap_id)); if ((len < 0) || (len >= sizeof(delete_path))) { - ret = -1; goto out; } len = snprintf (trashdir, sizeof (trashdir), "%s/"GLUSTERD_TRASH, priv->workdir); if ((len < 0) || (len >= sizeof(trashdir))) { - ret = -1; goto out; } @@ -1950,7 +1945,6 @@ glusterd_store_delete_snap (glusterd_snap_t *snap) gf_msg (this->name, GF_LOG_ERROR, errno, GD_MSG_CREATE_DIR_FAILED, "Failed to create trash " "directory"); - ret = -1; goto out; } @@ -1967,7 +1961,6 @@ glusterd_store_delete_snap (glusterd_snap_t *snap) if (!dir) { gf_msg_debug (this->name, 0, "Failed to open directory %s.", delete_path); - ret = 0; goto out; } @@ -1976,7 +1969,6 @@ glusterd_store_delete_snap (glusterd_snap_t *snap) len = snprintf (path, PATH_MAX, "%s/%s", delete_path, entry->d_name); if ((len < 0) || (len >= PATH_MAX)) { - ret = -1; goto stat_failed; } ret = sys_stat (path, &st); @@ -3418,7 +3410,6 @@ glusterd_store_retrieve_volumes (xlator_t *this, glusterd_snap_t *snap) len = snprintf (entry_path, PATH_MAX, "%s/%s", path, entry->d_name); if ((len < 0) || (len >= PATH_MAX)) { - ret = -1; goto next; } ret = sys_lstat (entry_path, &st); @@ -3453,7 +3444,7 @@ glusterd_store_retrieve_volumes (xlator_t *this, glusterd_snap_t *snap) "Creating a new node_state " "for volume: %s.", entry->d_name); glusterd_store_create_nodestate_sh_on_absence (volinfo); - ret = glusterd_store_perform_node_state_store (volinfo); + glusterd_store_perform_node_state_store (volinfo); } next: @@ -4372,6 +4363,8 @@ glusterd_store_peer_write (int fd, glusterd_peerinfo_t *peerinfo) } out: + if (key) + GF_FREE (key); gf_msg_debug ("glusterd", 0, "Returning with %d", ret); return ret; } diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.c b/xlators/mgmt/glusterd/src/glusterd-syncop.c index 826a6fe015d..01a88f8e145 100644 --- a/xlators/mgmt/glusterd/src/glusterd-syncop.c +++ b/xlators/mgmt/glusterd/src/glusterd-syncop.c @@ -1356,7 +1356,7 @@ stage_done: peerinfo->state.state != GD_FRIEND_STATE_BEFRIENDED) continue; - ret = gd_syncop_mgmt_stage_op (peerinfo, &args, + (void) gd_syncop_mgmt_stage_op (peerinfo, &args, MY_UUID, tmp_uuid, op, req_dict, op_ctx); peer_cnt++; @@ -1487,7 +1487,7 @@ commit_done: peerinfo->state.state != GD_FRIEND_STATE_BEFRIENDED) continue; - ret = gd_syncop_mgmt_commit_op (peerinfo, &args, + (void) gd_syncop_mgmt_commit_op (peerinfo, &args, MY_UUID, tmp_uuid, op, req_dict, op_ctx); peer_cnt++; diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 7ede0245808..0f7fef65687 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -6639,6 +6639,8 @@ _local_gsyncd_start (dict_t *this, char *key, data_t *value, void *data) out: if (statefile) GF_FREE (statefile); + if (slave_url) + GF_FREE (slave_url); if (is_template_in_use) { op_ret = glusterd_create_status_file (volinfo->volname, slave, @@ -10270,6 +10272,8 @@ glusterd_volume_status_copy_to_op_ctx_dict (dict_t *aggr, dict_t *rsp_dict) } else { ret = dict_get_int32 (ctx_dict, "brick-index-max", &brick_index_max); + if (ret) + goto out; } rsp_ctx.count = node_count; @@ -13358,6 +13362,8 @@ out: "option %s does not exist", orig_key); *op_errstr = gf_strdup (err_str); } + if (def_val) + GF_FREE (def_val); gf_msg_debug (this->name, 0, "Returning %d", ret); return ret; } -- cgit