gcc-analyzer: suppress warnings
gcc analyzer causes issues in CI, this commit from upstream should fix it Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
This commit is contained in:
parent
5aa020da73
commit
0596993205
132
gnutls-3.7.8-gcc_analyzer-suppress_warnings.patch
Normal file
132
gnutls-3.7.8-gcc_analyzer-suppress_warnings.patch
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
From 7fa942e08e64b761b19753ae74503de43cc1ff91 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daiki Ueno <ueno@gnu.org>
|
||||||
|
Date: Thu, 6 Oct 2022 18:44:48 +0900
|
||||||
|
Subject: build: suppress GCC analyzer warnings
|
||||||
|
|
||||||
|
Signed-off-by: Daiki Ueno <ueno@gnu.org>
|
||||||
|
|
||||||
|
diff --git a/lib/auth/cert.c b/lib/auth/cert.c
|
||||||
|
index 228d98468..f122049e1 100644
|
||||||
|
--- a/lib/auth/cert.c
|
||||||
|
+++ b/lib/auth/cert.c
|
||||||
|
@@ -1636,6 +1636,10 @@ _gnutls_select_server_cert(gnutls_session_t session, const gnutls_cipher_suite_e
|
||||||
|
if (session->internals.selected_cert_list_length == 0)
|
||||||
|
return gnutls_assert_val(GNUTLS_E_INSUFFICIENT_CREDENTIALS);
|
||||||
|
|
||||||
|
+ if (unlikely(session->internals.selected_cert_list == NULL)) {
|
||||||
|
+ return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
_gnutls_debug_log("Selected (%s) cert\n",
|
||||||
|
gnutls_pk_get_name(session->internals.selected_cert_list[0].pubkey->params.algo));
|
||||||
|
}
|
||||||
|
diff --git a/lib/nettle/int/provable-prime.c b/lib/nettle/int/provable-prime.c
|
||||||
|
index 585cd031e..3a626a2c8 100644
|
||||||
|
--- a/lib/nettle/int/provable-prime.c
|
||||||
|
+++ b/lib/nettle/int/provable-prime.c
|
||||||
|
@@ -1173,7 +1173,7 @@ st_provable_prime(mpz_t p,
|
||||||
|
if (iterations > 0) {
|
||||||
|
storage_length = iterations * DIGEST_SIZE;
|
||||||
|
|
||||||
|
- storage = malloc(storage_length);
|
||||||
|
+ storage = gnutls_malloc(storage_length);
|
||||||
|
if (storage == NULL)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
@@ -1307,7 +1307,7 @@ st_provable_prime(mpz_t p,
|
||||||
|
mpz_clear(t);
|
||||||
|
mpz_clear(tmp);
|
||||||
|
mpz_clear(c);
|
||||||
|
- free(pseed);
|
||||||
|
- free(storage);
|
||||||
|
+ gnutls_free(pseed);
|
||||||
|
+ gnutls_free(storage);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff --git a/lib/pk.c b/lib/pk.c
|
||||||
|
index c5600a32a..753cecd18 100644
|
||||||
|
--- a/lib/pk.c
|
||||||
|
+++ b/lib/pk.c
|
||||||
|
@@ -93,6 +93,7 @@ _gnutls_encode_ber_rs_raw(gnutls_datum_t * sig_value,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (r->data[0] >= 0x80) {
|
||||||
|
+ assert(tmp);
|
||||||
|
tmp[0] = 0;
|
||||||
|
memcpy(&tmp[1], r->data, r->size);
|
||||||
|
result = asn1_write_value(sig, "r", tmp, 1+r->size);
|
||||||
|
@@ -108,6 +109,7 @@ _gnutls_encode_ber_rs_raw(gnutls_datum_t * sig_value,
|
||||||
|
|
||||||
|
|
||||||
|
if (s->data[0] >= 0x80) {
|
||||||
|
+ assert(tmp);
|
||||||
|
tmp[0] = 0;
|
||||||
|
memcpy(&tmp[1], s->data, s->size);
|
||||||
|
result = asn1_write_value(sig, "s", tmp, 1+s->size);
|
||||||
|
@@ -598,6 +600,10 @@ encode_ber_digest_info(const mac_entry_st * e,
|
||||||
|
uint8_t *tmp_output;
|
||||||
|
int tmp_output_size;
|
||||||
|
|
||||||
|
+ if (unlikely(e == NULL)) {
|
||||||
|
+ return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* prevent asn1_write_value() treating input as string */
|
||||||
|
if (digest->size == 0)
|
||||||
|
return gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
|
||||||
|
diff --git a/lib/x509/pkcs7-crypt.c b/lib/x509/pkcs7-crypt.c
|
||||||
|
index 59eddcd2a..6f528a911 100644
|
||||||
|
--- a/lib/x509/pkcs7-crypt.c
|
||||||
|
+++ b/lib/x509/pkcs7-crypt.c
|
||||||
|
@@ -1211,6 +1211,10 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,
|
||||||
|
}
|
||||||
|
|
||||||
|
ce = cipher_to_entry(enc_params->cipher);
|
||||||
|
+ if (unlikely(ce == NULL)) {
|
||||||
|
+ ret = gnutls_assert_val(GNUTLS_E_UNKNOWN_CIPHER_TYPE);
|
||||||
|
+ goto error;
|
||||||
|
+ }
|
||||||
|
block_size = _gnutls_cipher_get_block_size(ce);
|
||||||
|
|
||||||
|
if (ce->type == CIPHER_BLOCK) {
|
||||||
|
diff --git a/src/tests.c b/src/tests.c
|
||||||
|
index 85c4b6699..8526b6943 100644
|
||||||
|
--- a/src/tests.c
|
||||||
|
+++ b/src/tests.c
|
||||||
|
@@ -1613,7 +1613,9 @@ test_code_t test_chain_order(gnutls_session_t session)
|
||||||
|
|
||||||
|
gnutls_free(t.data);
|
||||||
|
}
|
||||||
|
- *pos = 0;
|
||||||
|
+ if (pos) {
|
||||||
|
+ *pos = 0;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
t.size = p_size;
|
||||||
|
t.data = (void*)p;
|
||||||
|
diff --git a/src/tpmtool.c b/src/tpmtool.c
|
||||||
|
index 171b7fd41..1b230c2ff 100644
|
||||||
|
--- a/src/tpmtool.c
|
||||||
|
+++ b/src/tpmtool.c
|
||||||
|
@@ -263,15 +263,15 @@ static void tpm_generate(FILE * out, unsigned int key_type,
|
||||||
|
gnutls_datum_t privkey, pubkey;
|
||||||
|
|
||||||
|
if (!srk_well_known) {
|
||||||
|
- srk_pass = getpass("Enter SRK password: ");
|
||||||
|
- if (srk_pass != NULL)
|
||||||
|
- srk_pass = strdup(srk_pass);
|
||||||
|
+ char *pass = getpass("Enter SRK password: ");
|
||||||
|
+ if (pass != NULL)
|
||||||
|
+ srk_pass = strdup(pass);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(flags & GNUTLS_TPM_REGISTER_KEY)) {
|
||||||
|
- key_pass = getpass("Enter key password: ");
|
||||||
|
- if (key_pass != NULL)
|
||||||
|
- key_pass = strdup(key_pass);
|
||||||
|
+ char *pass = getpass("Enter key password: ");
|
||||||
|
+ if (pass != NULL)
|
||||||
|
+ key_pass = strdup(pass);
|
||||||
|
}
|
||||||
|
|
||||||
|
ret =
|
@ -19,6 +19,7 @@ print(string.sub(hash, 0, 16))
|
|||||||
|
|
||||||
Version: 3.7.8
|
Version: 3.7.8
|
||||||
Release: %{?autorelease}%{!?autorelease:1%{?dist}}
|
Release: %{?autorelease}%{!?autorelease:1%{?dist}}
|
||||||
|
Patch: gnutls-3.7.8-gcc_analyzer-suppress_warnings.patch
|
||||||
Patch: gnutls-3.6.7-no-now-guile.patch
|
Patch: gnutls-3.6.7-no-now-guile.patch
|
||||||
Patch: gnutls-3.2.7-rpath.patch
|
Patch: gnutls-3.2.7-rpath.patch
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user