summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2024-01-05 09:26:19 +0100
committerGitHub <noreply@github.com>2024-01-05 09:26:19 +0100
commit6a80e22766ad3fc5ae6b4059c771ebef7d1066e6 (patch)
treeece1d6c9e4f526134db1afa50b47802a7bbf7c80
parentjournalctl: add --exclude-identifier option (diff)
parentci: build with -O2 and -Wmaybe-uninitialized (diff)
downloadsystemd-6a80e22766ad3fc5ae6b4059c771ebef7d1066e6.tar.xz
systemd-6a80e22766ad3fc5ae6b4059c771ebef7d1066e6.zip
Merge pull request #30759 from mrc0mmand/resolved-followup
resolve: initialize `r` during OOM
-rwxr-xr-x.github/workflows/build_test.sh7
-rw-r--r--src/libsystemd/sd-journal/journal-file.c2
-rw-r--r--src/login/logind.c2
-rw-r--r--src/resolve/resolved-dns-query.c2
-rw-r--r--src/shared/pkcs11-util.c2
-rw-r--r--src/shared/tpm2-util.c4
6 files changed, 12 insertions, 7 deletions
diff --git a/.github/workflows/build_test.sh b/.github/workflows/build_test.sh
index c550046761..80f01f09dd 100755
--- a/.github/workflows/build_test.sh
+++ b/.github/workflows/build_test.sh
@@ -10,9 +10,9 @@ success() { echo >&2 -e "\033[32;1m$1\033[0m"; }
ARGS=(
"--optimization=0 -Dopenssl=disabled -Dcryptolib=gcrypt -Ddns-over-tls=gnutls -Dtpm=true -Dtpm2=enabled"
"--optimization=s -Dutmp=false"
+ "--optimization=2 -Dc_args=-Wmaybe-uninitialized -Ddns-over-tls=openssl"
"--optimization=3 -Db_lto=true -Ddns-over-tls=false"
"--optimization=3 -Db_lto=false -Dtpm2=disabled -Dlibfido2=disabled -Dp11kit=disabled"
- "--optimization=3 -Ddns-over-tls=openssl"
"--optimization=3 -Dfexecve=true -Dstandalone-binaries=true -Dstatic-libsystemd=true -Dstatic-libudev=true"
"-Db_ndebug=true"
)
@@ -131,6 +131,11 @@ ninja --version
for args in "${ARGS[@]}"; do
SECONDS=0
+ if [[ "$COMPILER" == clang && "$args" =~ Wmaybe-uninitialized ]]; then
+ # -Wmaybe-uninitialized is not implemented in clang
+ continue
+ fi
+
info "Checking build with $args"
# shellcheck disable=SC2086
if ! AR="$AR" \
diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c
index 5e6ff66e3c..c9ff6abca6 100644
--- a/src/libsystemd/sd-journal/journal-file.c
+++ b/src/libsystemd/sd-journal/journal-file.c
@@ -2757,7 +2757,7 @@ static int generic_array_get(
Object **ret_object, /* The found object. */
uint64_t *ret_offset) { /* The offset of the found object. */
- uint64_t a, t = 0, k;
+ uint64_t a, t = 0, k = 0; /* Explicit initialization of k to appease gcc */
ChainCacheItem *ci;
Object *o = NULL;
int r;
diff --git a/src/login/logind.c b/src/login/logind.c
index 030f65da08..4dd89288e7 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -470,7 +470,7 @@ static int deliver_session_leader_fd_consume(Session *s, const char *fdname, int
static int manager_attach_session_fd_one_consume(Manager *m, const char *fdname, int fd) {
_cleanup_free_ char *id = NULL;
- dev_t devno;
+ dev_t devno = 0; /* Explicit initialization to appease gcc */
Session *s;
int r;
diff --git a/src/resolve/resolved-dns-query.c b/src/resolve/resolved-dns-query.c
index d94fe1da99..a7bc45838f 100644
--- a/src/resolve/resolved-dns-query.c
+++ b/src/resolve/resolved-dns-query.c
@@ -902,7 +902,7 @@ static void dns_query_accept(DnsQuery *q, DnsQueryCandidate *c) {
if (t->answer_ede_msg) {
answer_ede_msg = strdup(t->answer_ede_msg);
if (!answer_ede_msg) {
- log_oom();
+ r = log_oom();
goto fail;
}
}
diff --git a/src/shared/pkcs11-util.c b/src/shared/pkcs11-util.c
index 9792f70d42..3ff2e92b01 100644
--- a/src/shared/pkcs11-util.c
+++ b/src/shared/pkcs11-util.c
@@ -948,7 +948,7 @@ static int pkcs11_token_decrypt_data_ecc(
if (mechanism_info.flags & CKF_EC_COMPRESS) {
#if HAVE_OPENSSL
log_debug("CKM_ECDH1_DERIVE accepts compressed EC points only, trying to convert.");
- size_t compressed_point_size;
+ size_t compressed_point_size = 0; /* Explicit initialization to appease gcc */
r = ecc_convert_to_compressed(m, session, object, encrypted_data, encrypted_data_size, &compressed_point, &compressed_point_size);
if (r < 0)
return r;
diff --git a/src/shared/tpm2-util.c b/src/shared/tpm2-util.c
index 8c683254a2..068921a84c 100644
--- a/src/shared/tpm2-util.c
+++ b/src/shared/tpm2-util.c
@@ -5007,7 +5007,7 @@ static int tpm2_calculate_seal_ecc_seed(
size_t bits = (size_t) r * 8;
_cleanup_free_ void *seed = NULL;
- size_t seed_size;
+ size_t seed_size = 0; /* Explicit initialization to appease gcc */
r = tpm2_kdfe(parent->publicArea.nameAlg,
shared_secret,
shared_secret_size,
@@ -5044,7 +5044,7 @@ static int tpm2_calculate_seal_seed(
log_debug("Calculating encrypted seed for sealed object.");
_cleanup_free_ void *seed = NULL, *encrypted_seed = NULL;
- size_t seed_size, encrypted_seed_size;
+ size_t seed_size = 0, encrypted_seed_size = 0; /* Explicit initialization to appease gcc */
if (parent->publicArea.type == TPM2_ALG_RSA)
r = tpm2_calculate_seal_rsa_seed(parent, &seed, &seed_size, &encrypted_seed, &encrypted_seed_size);
else if (parent->publicArea.type == TPM2_ALG_ECC)