summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAtin Mukherjee <amukherj@redhat.com>2019-09-09 10:01:04 +0530
committerAtin Mukherjee <amukherj@redhat.com>2019-09-10 04:18:45 +0000
commit0af88a6c33e8fd57745997afb7c68e4ef6023fbf (patch)
tree8e48ca5fc7a08ae7453345223e633c01c1c75687
parentea95631ff47c8048f039faedbc0faa918c4e165a (diff)
glusterd, rpc, glusterfsd: fix coverity defects and put required annotations
1404965 - Null pointer dereference 1404316 - Program hangs 1401715 - Program hangs 1401713 - Program hangs Updates: bz#789278 Change-Id: I6e6575daafcb067bc910445f82a9d564f43b75a2 Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
-rw-r--r--glusterfsd/src/glusterfsd-mgmt.c1
-rw-r--r--rpc/rpc-transport/socket/src/socket.c1
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handler.c2
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-shd-svc.c2
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volume-ops.c1
-rw-r--r--xlators/protocol/client/src/client.c8
6 files changed, 12 insertions, 3 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c
index 1d097fb17f5..7eb8b4ba4ae 100644
--- a/glusterfsd/src/glusterfsd-mgmt.c
+++ b/glusterfsd/src/glusterfsd-mgmt.c
@@ -1181,6 +1181,7 @@ glusterfs_handle_svc_detach(rpcsvc_request_t *req)
ret = 0;
goto out;
}
+ /* coverity[ORDER_REVERSAL] */
ret = glusterfs_process_svc_detach(ctx, volfile_tmp);
if (ret) {
UNLOCK(&ctx->volfile_lock);
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c
index 2fbcbf4a882..26903df44d6 100644
--- a/rpc/rpc-transport/socket/src/socket.c
+++ b/rpc/rpc-transport/socket/src/socket.c
@@ -3801,6 +3801,7 @@ socket_listen(rpc_transport_t *this)
}
}
+ /* coverity[SLEEP] */
ret = __socket_server_bind(this);
if ((ret == -EADDRINUSE) || (ret == -1)) {
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c
index 58bb075aa57..0493612d1da 100644
--- a/xlators/mgmt/glusterd/src/glusterd-handler.c
+++ b/xlators/mgmt/glusterd/src/glusterd-handler.c
@@ -3293,7 +3293,7 @@ glusterd_friend_remove(uuid_t uuid, char *hostname)
ret = glusterd_peerinfo_cleanup(peerinfo);
out:
gf_msg_debug(THIS->name, 0, "returning %d", ret);
-
+ /* coverity[LOCK] */
return ret;
}
diff --git a/xlators/mgmt/glusterd/src/glusterd-shd-svc.c b/xlators/mgmt/glusterd/src/glusterd-shd-svc.c
index eaed873d430..e106398e697 100644
--- a/xlators/mgmt/glusterd/src/glusterd-shd-svc.c
+++ b/xlators/mgmt/glusterd/src/glusterd-shd-svc.c
@@ -482,6 +482,7 @@ glusterd_shdsvc_start(glusterd_svc_t *svc, int flags)
volinfo->volname, glusterd_proc_get_pid(&svc->proc));
glusterd_shd_svcproc_cleanup(&volinfo->shd);
glusterd_volinfo_unref(volinfo);
+ goto out1;
}
goto out;
}
@@ -494,6 +495,7 @@ out:
glusterd_shd_svcproc_cleanup(&volinfo->shd);
if (volinfo)
glusterd_volinfo_unref(volinfo);
+out1:
gf_msg_debug(THIS->name, 0, "Returning %d", ret);
return ret;
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
index d3a3e65b647..24743b62ade 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
@@ -2492,6 +2492,7 @@ glusterd_start_volume(glusterd_volinfo_t *volinfo, int flags, gf_boolean_t wait)
attach_brick_callback can also call store_volinfo for same
volume to update volinfo on disk
*/
+ /* coverity[ORDER_REVERSAL] */
LOCK(&volinfo->lock);
ret = glusterd_store_volinfo(volinfo, verincrement);
UNLOCK(&volinfo->lock);
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c
index 45e7bfedf91..5ef866fe03f 100644
--- a/xlators/protocol/client/src/client.c
+++ b/xlators/protocol/client/src/client.c
@@ -64,10 +64,14 @@ int
client_is_last_child_down(xlator_t *this, int32_t event, struct rpc_clnt *rpc)
{
rpc_clnt_connection_t *conn = NULL;
+ clnt_conf_t *conf = NULL;
int ret = 0;
- clnt_conf_t *conf = this->private;
- if (!this || !rpc || !conf)
+ if (!this || !rpc)
+ goto out;
+
+ conf = this->private;
+ if (!conf)
goto out;
if (!conf->parent_down)