From: Michael Vogt Date: Fri, 27 Mar 2026 10:20:10 +0000 (+0100) Subject: resolved: make check-pointer-deref clean X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=39ef41e3881d34bdbb3e87309aa4560c87aefa01;p=thirdparty%2Fsystemd.git resolved: make check-pointer-deref clean Add the needed assert changes to make the code clean for the new check-pointer-deref script. --- diff --git a/meson.build b/meson.build index 19647a4c7dd..4f0ea8adbf1 100644 --- a/meson.build +++ b/meson.build @@ -2985,7 +2985,6 @@ if spatch.found() 'src/network/', 'src/nspawn/', 'src/nss-systemd/', - 'src/resolve/', 'src/shared/', # libc/ has no assert() or systemd-headers so leave it 'src/libc/', diff --git a/src/resolve/resolved-dns-dnssec.c b/src/resolve/resolved-dns-dnssec.c index 39b679ab040..c82569ccf9f 100644 --- a/src/resolve/resolved-dns-dnssec.c +++ b/src/resolve/resolved-dns-dnssec.c @@ -48,7 +48,7 @@ REENABLE_WARNING; #if HAVE_OPENSSL static int rr_compare(DnsResourceRecord * const *a, DnsResourceRecord * const *b) { - const DnsResourceRecord *x = *a, *y = *b; + const DnsResourceRecord *x = *ASSERT_PTR(a), *y = *ASSERT_PTR(b); size_t m; int r; diff --git a/src/resolve/resolved-dns-stub.c b/src/resolve/resolved-dns-stub.c index 96f7c62670e..298db3ae78f 100644 --- a/src/resolve/resolved-dns-stub.c +++ b/src/resolve/resolved-dns-stub.c @@ -81,6 +81,8 @@ int dns_stub_listener_extra_new( Manager *m, DnsStubListenerExtra **ret) { + assert(ret); + DnsStubListenerExtra *l; l = new(DnsStubListenerExtra, 1); diff --git a/src/resolve/resolved-dnssd.c b/src/resolve/resolved-dnssd.c index 6cc0f86796a..498f975f39e 100644 --- a/src/resolve/resolved-dnssd.c +++ b/src/resolve/resolved-dnssd.c @@ -332,6 +332,8 @@ int dnssd_txt_item_new_from_string(const char *key, const char *value, DnsTxtIte size_t length; DnsTxtItem *i; + assert(ret_item); + length = strlen(key); if (!isempty(value)) @@ -357,6 +359,8 @@ int dnssd_txt_item_new_from_data(const char *key, const void *data, const size_t size_t length; DnsTxtItem *i; + assert(ret_item); + length = strlen(key); if (size > 0) diff --git a/src/resolve/resolved-link.c b/src/resolve/resolved-link.c index 59b6dc942b9..ea089c1e100 100644 --- a/src/resolve/resolved-link.c +++ b/src/resolve/resolved-link.c @@ -890,6 +890,7 @@ int link_address_new(Link *l, assert(l); assert(in_addr); + assert(in_addr_broadcast); a = new(LinkAddress, 1); if (!a) diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index e96ae4393c6..f16364fe6a4 100644 --- a/src/resolve/resolved-manager.c +++ b/src/resolve/resolved-manager.c @@ -1464,6 +1464,8 @@ static int manager_next_random_name(const char *old, char **ret_new) { uint64_t u, a; char *n; + assert(ret_new); + p = strchr(old, 0); assert(p); diff --git a/src/resolve/test-dns-zone.c b/src/resolve/test-dns-zone.c index b9ee18fd22a..4cdb98aee52 100644 --- a/src/resolve/test-dns-zone.c +++ b/src/resolve/test-dns-zone.c @@ -10,6 +10,8 @@ #include "tests.h" static void dns_scope_freep(DnsScope **s) { + POINTER_MAY_BE_NULL(s); + if (s != NULL && *s != NULL) dns_scope_free(*s); }