From ee1982b083c06ddaebfc4b6da8a0827f3b7c24a9 Mon Sep 17 00:00:00 2001 From: Sunny Kumar Date: Tue, 16 Oct 2018 14:06:10 +0530 Subject: shard : fix coverity issue in shard.c This patch fixes CID: 1394664 : CHECKED_RETURN 1356534 : Macro compares unsigned to 0 (NO_EFFECT) 1356532 : Macro compares unsigned to 0 (NO_EFFECT) updates: bz#789278 Change-Id: I04d64fd8c007627611710dc56109b76eeb59333a Signed-off-by: Sunny Kumar --- xlators/features/shard/src/shard.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'xlators') diff --git a/xlators/features/shard/src/shard.c b/xlators/features/shard/src/shard.c index 9506b662fe2..79804bdeadd 100644 --- a/xlators/features/shard/src/shard.c +++ b/xlators/features/shard/src/shard.c @@ -3115,8 +3115,14 @@ shard_regulated_shards_deletion(call_frame_t *cleanup_frame, xlator_t *this, gf_uuid_copy(local->base_gfid, gfid); local->resolver_base_inode = inode_find(this->itable, gfid); local->call_count = 0; - syncbarrier_init(&local->barrier); - + ret = syncbarrier_init(&local->barrier); + if (ret) { + GF_FREE(local->inode_list); + local->inode_list = NULL; + inode_unref(local->resolver_base_inode); + local->resolver_base_inode = NULL; + return -errno; + } shard_common_resolve_shards(cleanup_frame, this, shard_post_resolve_unlink_handler); @@ -4643,7 +4649,8 @@ out: local->xattr_rsp = dict_ref(xdata); vec.iov_base = local->iobuf->ptr; vec.iov_len = local->total_size; - SHARD_STACK_UNWIND(readv, frame, local->total_size, local->op_errno, + local->op_ret = local->total_size; + SHARD_STACK_UNWIND(readv, frame, local->op_ret, local->op_errno, &vec, 1, &local->prebuf, local->iobref, local->xattr_rsp); return 0; @@ -4956,7 +4963,8 @@ shard_post_resolve_readv_handler(call_frame_t *frame, xlator_t *this) vec.iov_base = local->iobuf->ptr; vec.iov_len = local->total_size; - SHARD_STACK_UNWIND(readv, frame, local->total_size, 0, &vec, 1, + local->op_ret = local->total_size; + SHARD_STACK_UNWIND(readv, frame, local->op_ret, 0, &vec, 1, &local->prebuf, local->iobref, NULL); return 0; } -- cgit