Skip to content

Commit

Permalink
cppcheck: (error) Uninitialized variable
Browse files Browse the repository at this point in the history
Resolve the following uninitialized variable warnings.  In practice
these were unreachable due to the goto.  Replacing the goto with a
return resolves the warning and yields more readable code.

[module/icp/algs/modes/ccm.c:892]: (error) Uninitialized variable: ccm_param
[module/icp/algs/modes/ccm.c:893]: (error) Uninitialized variable: ccm_param
[module/icp/algs/modes/gcm.c:564]: (error) Uninitialized variable: gcm_param
[module/icp/algs/modes/gcm.c:565]: (error) Uninitialized variable: gcm_param
[module/icp/algs/modes/gcm.c:599]: (error) Uninitialized variable: gmac_param
[module/icp/algs/modes/gcm.c:600]: (error) Uninitialized variable: gmac_param

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #9732
  • Loading branch information
Ubuntu authored and tonyhutter committed Jan 22, 2020
1 parent 78072b7 commit bf01567
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 11 deletions.
7 changes: 2 additions & 5 deletions module/icp/algs/modes/ccm.c
Original file line number Diff line number Diff line change
Expand Up @@ -885,15 +885,13 @@ ccm_init_ctx(ccm_ctx_t *ccm_ctx, char *param, int kmflag,

ccm_ctx->ccm_flags |= CCM_MODE;
} else {
rv = CRYPTO_MECHANISM_PARAM_INVALID;
goto out;
return (CRYPTO_MECHANISM_PARAM_INVALID);
}

if (ccm_init(ccm_ctx, ccm_param->nonce, ccm_param->ulNonceSize,
ccm_param->authData, ccm_param->ulAuthDataSize, block_size,
encrypt_block, xor_block) != 0) {
rv = CRYPTO_MECHANISM_PARAM_INVALID;
goto out;
return (CRYPTO_MECHANISM_PARAM_INVALID);
}
if (!is_encrypt_init) {
/* allocate buffer for storing decrypted plaintext */
Expand All @@ -903,7 +901,6 @@ ccm_init_ctx(ccm_ctx_t *ccm_ctx, char *param, int kmflag,
rv = CRYPTO_HOST_MEMORY;
}
}
out:
return (rv);
}

Expand Down
10 changes: 4 additions & 6 deletions module/icp/algs/modes/gcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -553,16 +553,15 @@ gcm_init_ctx(gcm_ctx_t *gcm_ctx, char *param, size_t block_size,
rv = CRYPTO_SUCCESS;
gcm_ctx->gcm_flags |= GCM_MODE;
} else {
rv = CRYPTO_MECHANISM_PARAM_INVALID;
goto out;
return (CRYPTO_MECHANISM_PARAM_INVALID);
}

if (gcm_init(gcm_ctx, gcm_param->pIv, gcm_param->ulIvLen,
gcm_param->pAAD, gcm_param->ulAADLen, block_size,
encrypt_block, copy_block, xor_block) != 0) {
rv = CRYPTO_MECHANISM_PARAM_INVALID;
}
out:

return (rv);
}

Expand All @@ -588,16 +587,15 @@ gmac_init_ctx(gcm_ctx_t *gcm_ctx, char *param, size_t block_size,
rv = CRYPTO_SUCCESS;
gcm_ctx->gcm_flags |= GMAC_MODE;
} else {
rv = CRYPTO_MECHANISM_PARAM_INVALID;
goto out;
return (CRYPTO_MECHANISM_PARAM_INVALID);
}

if (gcm_init(gcm_ctx, gmac_param->pIv, AES_GMAC_IV_LEN,
gmac_param->pAAD, gmac_param->ulAADLen, block_size,
encrypt_block, copy_block, xor_block) != 0) {
rv = CRYPTO_MECHANISM_PARAM_INVALID;
}
out:

return (rv);
}

Expand Down

0 comments on commit bf01567

Please sign in to comment.