mirror of
https://github.com/jedisct1/libsodium.git
synced 2026-08-25 08:37:13 +09:00
Add some coverage exclusions
This commit is contained in:
@@ -46,10 +46,12 @@ aegis128l_mac(uint8_t *mac, size_t maclen, uint64_t adlen, uint64_t mlen, aes_bl
|
||||
}
|
||||
|
||||
if (maclen == 16) {
|
||||
/* LCOV_EXCL_START */
|
||||
tmp = AES_BLOCK_XOR(state[6], AES_BLOCK_XOR(state[5], state[4]));
|
||||
tmp = AES_BLOCK_XOR(tmp, AES_BLOCK_XOR(state[3], state[2]));
|
||||
tmp = AES_BLOCK_XOR(tmp, AES_BLOCK_XOR(state[1], state[0]));
|
||||
AES_BLOCK_STORE(mac, tmp);
|
||||
/* LCOV_EXCL_STOP */
|
||||
} else if (maclen == 32) {
|
||||
tmp = AES_BLOCK_XOR(state[3], state[2]);
|
||||
tmp = AES_BLOCK_XOR(tmp, AES_BLOCK_XOR(state[1], state[0]));
|
||||
@@ -237,7 +239,7 @@ decrypt_detached(uint8_t *m, const uint8_t *c, size_t clen, const uint8_t *mac,
|
||||
ret = -1;
|
||||
if (aegis128l_mac(computed_mac, maclen, adlen, mlen, state) == 0) {
|
||||
if (maclen == 16) {
|
||||
ret = crypto_verify_16(computed_mac, mac);
|
||||
ret = crypto_verify_16(computed_mac, mac); /* LCOV_EXCL_LINE */
|
||||
} else if (maclen == 32) {
|
||||
ret = crypto_verify_32(computed_mac, mac);
|
||||
}
|
||||
|
||||
@@ -48,10 +48,12 @@ aegis256_mac(uint8_t *mac, size_t maclen, uint64_t adlen, uint64_t mlen, aes_blo
|
||||
}
|
||||
|
||||
if (maclen == 16) {
|
||||
/* LCOV_EXCL_START */
|
||||
tmp = AES_BLOCK_XOR(state[5], state[4]);
|
||||
tmp = AES_BLOCK_XOR(tmp, AES_BLOCK_XOR(state[3], state[2]));
|
||||
tmp = AES_BLOCK_XOR(tmp, AES_BLOCK_XOR(state[1], state[0]));
|
||||
AES_BLOCK_STORE(mac, tmp);
|
||||
/* LCOV_EXCL_STOP */
|
||||
} else if (maclen == 32) {
|
||||
tmp = AES_BLOCK_XOR(AES_BLOCK_XOR(state[2], state[1]), state[0]);
|
||||
AES_BLOCK_STORE(mac, tmp);
|
||||
@@ -220,7 +222,7 @@ decrypt_detached(uint8_t *m, const uint8_t *c, size_t clen, const uint8_t *mac,
|
||||
ret = -1;
|
||||
if (aegis256_mac(computed_mac, maclen, adlen, mlen, state) == 0) {
|
||||
if (maclen == 16) {
|
||||
ret = crypto_verify_16(computed_mac, mac);
|
||||
ret = crypto_verify_16(computed_mac, mac); /* LCOV_EXCL_LINE */
|
||||
} else if (maclen == 32) {
|
||||
ret = crypto_verify_32(computed_mac, mac);
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c,
|
||||
int ret;
|
||||
|
||||
if (mlen > crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
ret = crypto_aead_xchacha20poly1305_ietf_encrypt_detached
|
||||
(c, c + mlen, NULL, m, mlen, ad, adlen, nsec, npub, k);
|
||||
|
||||
@@ -50,7 +50,7 @@ crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state,
|
||||
keylen = 32;
|
||||
} else if (key == NULL) {
|
||||
if (keylen > 0) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
}
|
||||
crypto_hash_sha256_init(&state->ictx);
|
||||
|
||||
@@ -50,7 +50,7 @@ crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state,
|
||||
keylen = 64;
|
||||
} else if (key == NULL) {
|
||||
if (keylen > 0) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
}
|
||||
crypto_hash_sha512_init(&state->ictx);
|
||||
|
||||
+2
-2
@@ -91,7 +91,7 @@ crypto_box_curve25519xchacha20poly1305_easy_afternm(unsigned char *c,
|
||||
const unsigned char *k)
|
||||
{
|
||||
if (mlen > crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
return crypto_box_curve25519xchacha20poly1305_detached_afternm(
|
||||
c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, m, mlen, n, k);
|
||||
@@ -103,7 +103,7 @@ crypto_box_curve25519xchacha20poly1305_easy(
|
||||
const unsigned char *n, const unsigned char *pk, const unsigned char *sk)
|
||||
{
|
||||
if (mlen > crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
return crypto_box_curve25519xchacha20poly1305_detached(
|
||||
c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, m, mlen, n, pk,
|
||||
|
||||
@@ -74,7 +74,7 @@ _string_to_points(unsigned char * const px, const size_t n,
|
||||
}
|
||||
if (core_h2c_string_to_hash(h_be, n * HASH_GE_L, ctx, ctx_len, msg, msg_len,
|
||||
hash_alg) != 0) {
|
||||
return -1;
|
||||
return -1; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
COMPILER_ASSERT(sizeof h >= HASH_GE_L);
|
||||
for (i = 0U; i < n; i++) {
|
||||
|
||||
@@ -73,7 +73,7 @@ _string_to_element(unsigned char *p,
|
||||
|
||||
if (core_h2c_string_to_hash(h, sizeof h, ctx, ctx_len, msg, msg_len,
|
||||
hash_alg) != 0) {
|
||||
return -1;
|
||||
return -1; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
ristretto255_from_hash(p, h);
|
||||
|
||||
|
||||
@@ -741,6 +741,7 @@ ge25519_sub_cached(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_cached *q
|
||||
fe25519_add(r->T, t0, r->T);
|
||||
}
|
||||
|
||||
/* LCOV_EXCL_START */
|
||||
void
|
||||
ge25519_tobytes(unsigned char *s, const ge25519_p2 *h)
|
||||
{
|
||||
@@ -754,6 +755,7 @@ ge25519_tobytes(unsigned char *s, const ge25519_p2 *h)
|
||||
fe25519_tobytes(s, y);
|
||||
s[31] ^= fe25519_isnegative(x) << 7;
|
||||
}
|
||||
/* LCOV_EXCL_STOP */
|
||||
|
||||
/*
|
||||
r = a * A + b * B
|
||||
@@ -2679,7 +2681,7 @@ ge25519_elligator2(fe25519 x, fe25519 y, const fe25519 r, int *notsquare_p)
|
||||
/* y = sqrt(gx1) or sqrt(gx2) with gx2 = gx1 * (A+x1) / -x1 */
|
||||
/* but it is about as fast to just recompute from the curve equation. */
|
||||
if (ge25519_xmont_to_ymont(y, x) != 0) {
|
||||
abort();
|
||||
abort(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
*notsquare_p = notsquare;
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ static inline int
|
||||
blake2b_set_lastblock(blake2b_state *S)
|
||||
{
|
||||
if (S->last_node) {
|
||||
blake2b_set_lastnode(S);
|
||||
blake2b_set_lastnode(S); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
S->f[0] = -1;
|
||||
return 0;
|
||||
|
||||
@@ -132,14 +132,14 @@ crypto_kem_xwing_enc_deterministic(unsigned char *ct, unsigned char *ss, const u
|
||||
unsigned char ss_x25519[crypto_scalarmult_curve25519_BYTES];
|
||||
|
||||
if (crypto_kem_mlkem768_enc_deterministic(ct_mlkem, ss_mlkem, pk_mlkem, seed_mlkem) != 0) {
|
||||
return -1;
|
||||
return -1; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
crypto_scalarmult_curve25519_base(ct_x25519, sk_e_x25519);
|
||||
|
||||
if (crypto_scalarmult_curve25519(ss_x25519, sk_e_x25519, pk_x25519) != 0) {
|
||||
sodium_memzero(ss_mlkem, sizeof ss_mlkem);
|
||||
return -1;
|
||||
sodium_memzero(ss_mlkem, sizeof ss_mlkem); /* LCOV_EXCL_LINE */
|
||||
return -1; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
memcpy(ct, ct_mlkem, crypto_kem_mlkem768_CIPHERTEXTBYTES);
|
||||
@@ -160,8 +160,8 @@ crypto_kem_xwing_enc(unsigned char *ct, unsigned char *ss, const unsigned char *
|
||||
|
||||
randombytes_buf(seed, 64);
|
||||
if (crypto_kem_xwing_enc_deterministic(ct, ss, pk, seed) != 0) {
|
||||
sodium_memzero(seed, sizeof seed);
|
||||
return -1;
|
||||
sodium_memzero(seed, sizeof seed); /* LCOV_EXCL_LINE */
|
||||
return -1; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
sodium_memzero(seed, sizeof seed);
|
||||
|
||||
@@ -184,6 +184,7 @@ crypto_kem_xwing_dec(unsigned char *ss, const unsigned char *ct, const unsigned
|
||||
|
||||
expand_decaps_key(pk_mlkem, sk_mlkem, pk_x25519, sk_x25519, sk);
|
||||
|
||||
/* LCOV_EXCL_START */
|
||||
if (crypto_kem_mlkem768_dec(ss_mlkem, ct_mlkem, sk_mlkem) != 0) {
|
||||
sodium_memzero(sk_mlkem, sizeof sk_mlkem);
|
||||
sodium_memzero(sk_x25519, sizeof sk_x25519);
|
||||
@@ -196,6 +197,7 @@ crypto_kem_xwing_dec(unsigned char *ss, const unsigned char *ct, const unsigned
|
||||
sodium_memzero(sk_x25519, sizeof sk_x25519);
|
||||
return -1;
|
||||
}
|
||||
/* LCOV_EXCL_STOP */
|
||||
|
||||
combiner(ss, ss_mlkem, ss_x25519, ct_x25519, pk_x25519);
|
||||
|
||||
|
||||
@@ -463,20 +463,20 @@ argon2_initialize(argon2_instance_t *instance, argon2_context *context)
|
||||
int result = ARGON2_OK;
|
||||
|
||||
if (instance == NULL || context == NULL) {
|
||||
return ARGON2_INCORRECT_PARAMETER;
|
||||
return ARGON2_INCORRECT_PARAMETER; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
/* 1. Memory allocation */
|
||||
|
||||
if ((instance->pseudo_rands = (uint64_t *)
|
||||
malloc(sizeof(uint64_t) * instance->segment_length)) == NULL) {
|
||||
return ARGON2_MEMORY_ALLOCATION_ERROR;
|
||||
return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
result = allocate_memory(&(instance->region), instance->memory_blocks);
|
||||
if (ARGON2_OK != result) {
|
||||
argon2_free_instance(instance, context->flags);
|
||||
return result;
|
||||
argon2_free_instance(instance, context->flags); /* LCOV_EXCL_LINE */
|
||||
return result; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
/* 2. Initial hashing */
|
||||
|
||||
@@ -165,7 +165,7 @@ argon2_decode_string(argon2_context *ctx, const char *str, argon2_type type)
|
||||
} else if (type == Argon2_i) {
|
||||
CC("$argon2i");
|
||||
} else {
|
||||
return ARGON2_INCORRECT_TYPE;
|
||||
return ARGON2_INCORRECT_TYPE; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
CC("$v=");
|
||||
DECIMAL_U32(version);
|
||||
@@ -175,17 +175,17 @@ argon2_decode_string(argon2_context *ctx, const char *str, argon2_type type)
|
||||
CC("$m=");
|
||||
DECIMAL_U32(ctx->m_cost);
|
||||
if (ctx->m_cost > UINT32_MAX) {
|
||||
return ARGON2_INCORRECT_TYPE;
|
||||
return ARGON2_INCORRECT_TYPE; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
CC(",t=");
|
||||
DECIMAL_U32(ctx->t_cost);
|
||||
if (ctx->t_cost > UINT32_MAX) {
|
||||
return ARGON2_INCORRECT_TYPE;
|
||||
return ARGON2_INCORRECT_TYPE; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
CC(",p=");
|
||||
DECIMAL_U32(ctx->lanes);
|
||||
if (ctx->lanes > UINT32_MAX) {
|
||||
return ARGON2_INCORRECT_TYPE;
|
||||
return ARGON2_INCORRECT_TYPE; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
ctx->threads = ctx->lanes;
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ argon2_ctx(argon2_context *context, argon2_type type)
|
||||
memory_blocks = context->m_cost;
|
||||
|
||||
if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) {
|
||||
memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes;
|
||||
memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS);
|
||||
|
||||
@@ -166,9 +166,9 @@ crypto_pwhash_str_alg(char out[crypto_pwhash_STRBYTES],
|
||||
return crypto_pwhash_argon2id_str(out, passwd, passwdlen,
|
||||
opslimit, memlimit);
|
||||
}
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
/* NOTREACHED */
|
||||
return -1;
|
||||
return -1; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
@@ -79,7 +79,7 @@ crypto_secretbox_easy(unsigned char *c, const unsigned char *m,
|
||||
const unsigned char *k)
|
||||
{
|
||||
if (mlen > crypto_secretbox_MESSAGEBYTES_MAX) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
return crypto_secretbox_detached(c + crypto_secretbox_MACBYTES,
|
||||
c, m, mlen, n, k);
|
||||
|
||||
@@ -87,7 +87,7 @@ crypto_secretbox_xchacha20poly1305_easy(unsigned char *c,
|
||||
const unsigned char *k)
|
||||
{
|
||||
if (mlen > crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
return crypto_secretbox_xchacha20poly1305_detached
|
||||
(c + crypto_secretbox_xchacha20poly1305_MACBYTES, c, m, mlen, n, k);
|
||||
|
||||
+2
-2
@@ -126,7 +126,7 @@ crypto_secretstream_xchacha20poly1305_push
|
||||
COMPILER_ASSERT(crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX
|
||||
<= crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX);
|
||||
if (mlen > crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
crypto_stream_chacha20_ietf(block, sizeof block, state->nonce, state->k);
|
||||
crypto_onetimeauth_poly1305_init(&poly1305_state, block);
|
||||
@@ -203,7 +203,7 @@ crypto_secretstream_xchacha20poly1305_pull
|
||||
}
|
||||
mlen = inlen - crypto_secretstream_xchacha20poly1305_ABYTES;
|
||||
if (mlen > crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
crypto_stream_chacha20_ietf(block, sizeof block, state->nonce, state->k);
|
||||
crypto_onetimeauth_poly1305_init(&poly1305_state, block);
|
||||
|
||||
@@ -196,7 +196,7 @@ static int
|
||||
randombytes_getentropy(void * const buf, const size_t size)
|
||||
{
|
||||
if (CCRandomGenerateBytes(buf, size) != kCCSuccess) {
|
||||
return -1;
|
||||
return -1; /* LCOV_EXCL_LINE */
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ randombytes_buf_deterministic(void * const buf, const size_t size,
|
||||
#if SIZE_MAX > 0x4000000000ULL
|
||||
COMPILER_ASSERT(randombytes_BYTES_MAX <= 0x4000000000ULL);
|
||||
if (size > 0x4000000000ULL) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
#endif
|
||||
crypto_stream_chacha20_ietf((unsigned char *) buf, (unsigned long long) size,
|
||||
|
||||
@@ -165,7 +165,7 @@ static void
|
||||
sodium_base64_check_variant(const int variant)
|
||||
{
|
||||
if ((((unsigned int) variant) & ~ 0x6U) != 0x1U) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ sodium_bin2base64(char * const b64, const size_t b64_maxlen,
|
||||
}
|
||||
}
|
||||
if (b64_maxlen <= b64_len) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
if ((((unsigned int) variant) & VARIANT_URLSAFE_MASK) != 0U) {
|
||||
while (bin_pos < bin_len) {
|
||||
|
||||
@@ -685,7 +685,7 @@ sodium_free(void *ptr)
|
||||
total_size = page_size + page_size + unprotected_size + page_size;
|
||||
_mprotect_readwrite(base_ptr, total_size);
|
||||
if (sodium_memcmp(canary_ptr, canary, sizeof canary) != 0) {
|
||||
_out_of_bounds();
|
||||
_out_of_bounds(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
# ifndef HAVE_PAGE_PROTECTION
|
||||
if (sodium_memcmp(unprotected_ptr + unprotected_size, canary,
|
||||
@@ -762,7 +762,7 @@ sodium_pad(size_t *padded_buflen_p, unsigned char *buf,
|
||||
xpadlen -= unpadded_buflen % blocksize;
|
||||
}
|
||||
if ((size_t) SIZE_MAX - unpadded_buflen <= xpadlen) {
|
||||
sodium_misuse();
|
||||
sodium_misuse(); /* LCOV_EXCL_LINE */
|
||||
}
|
||||
xpadded_len = unpadded_buflen + xpadlen;
|
||||
if (xpadded_len >= max_buflen) {
|
||||
|
||||
Reference in New Issue
Block a user