Shut up a few clang-analyze warnings about use of uninitialized variables

The functions are all safe, Clang just isn't clever enough to realise
it.
This commit is contained in:
Nicholas Wilson 2016-04-13 11:48:25 +01:00
parent 2cc69fffcf
commit 409401c044
3 changed files with 19 additions and 4 deletions

View file

@ -797,7 +797,12 @@ int mbedtls_rsa_rsaes_pkcs1_v15_decrypt( mbedtls_rsa_context *ctx,
int ret;
size_t ilen, pad_count = 0, i;
unsigned char *p, bad, pad_done = 0;
#ifdef __clang_analyzer__
/* Shut up Clang, mbedtls_rsa_public/private writes to this */
unsigned char buf[MBEDTLS_MPI_MAX_SIZE] = { };
#else
unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
#endif
if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V15 )
return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
@ -1175,13 +1180,18 @@ int mbedtls_rsa_rsassa_pss_verify_ext( mbedtls_rsa_context *ctx,
int ret;
size_t siglen;
unsigned char *p;
unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
unsigned char result[MBEDTLS_MD_MAX_SIZE];
unsigned char zeros[8];
unsigned int hlen;
size_t slen, msb;
const mbedtls_md_info_t *md_info;
mbedtls_md_context_t md_ctx;
#ifdef __clang_analyzer__
/* Shut up Clang, mbedtls_rsa_public/private writes to this */
unsigned char buf[MBEDTLS_MPI_MAX_SIZE] = { };
#else
unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
#endif
if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V21 )
return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );
@ -1320,10 +1330,15 @@ int mbedtls_rsa_rsassa_pkcs1_v15_verify( mbedtls_rsa_context *ctx,
int ret;
size_t len, siglen, asn1_len;
unsigned char *p, *end;
unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
mbedtls_md_type_t msg_md_alg;
const mbedtls_md_info_t *md_info;
mbedtls_asn1_buf oid;
#ifdef __clang_analyzer__
/* Shut up Clang, mbedtls_rsa_public/private writes to this */
unsigned char buf[MBEDTLS_MPI_MAX_SIZE] = { };
#else
unsigned char buf[MBEDTLS_MPI_MAX_SIZE];
#endif
if( mode == MBEDTLS_RSA_PRIVATE && ctx->padding != MBEDTLS_RSA_PKCS_V15 )
return( MBEDTLS_ERR_RSA_BAD_INPUT_DATA );