]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
many: fix remaining check-pointer-deref issues
authorMichael Vogt <michael@amutable.com>
Tue, 31 Mar 2026 17:53:24 +0000 (19:53 +0200)
committerMichael Vogt <michael@amutable.com>
Sun, 12 Apr 2026 13:27:15 +0000 (15:27 +0200)
The updated parsing_hacks.h file uncovered a bunch of extra
things that the check-pointer-deref coccinelle script flags.

This commit fixes them to make the tree check-pointer-deref clean.

126 files changed:
src/analyze/analyze-plot.c
src/analyze/analyze-syscall-filter.c
src/analyze/analyze-time-data.c
src/basic/build-path.c
src/basic/cgroup-util.c
src/basic/fileio.c
src/basic/hashmap.c
src/basic/path-util.c
src/basic/string-util.c
src/basic/terminal-util.c
src/basic/uid-classification.c
src/basic/unit-name.c
src/basic/utf8.c
src/core/bpf-firewall.c
src/core/dbus.c
src/core/execute.c
src/core/main.c
src/core/manager.c
src/core/socket.c
src/core/unit-printf.c
src/core/unit.c
src/core/varlink-cgroup.c
src/core/varlink-execute.c
src/coredump/coredump-context.c
src/cryptenroll/cryptenroll-pkcs11.c
src/hibernate-resume/hibernate-resume-config.c
src/home/homectl.c
src/home/homed-home-bus.c
src/home/homework-luks.c
src/home/homework.c
src/home/user-record-util.c
src/hostname/hostnamed.c
src/import/curl-util.c
src/import/oci-util.c
src/import/pull-common.c
src/import/pull.c
src/journal-remote/journal-gatewayd.c
src/journal/journald-manager.c
src/kernel-install/kernel-install.c
src/libsystemd/sd-bus/bus-message.c
src/libsystemd/sd-bus/test-bus-benchmark.c
src/libsystemd/sd-device/test-sd-device-monitor.c
src/libsystemd/sd-device/test-sd-device.c
src/libsystemd/sd-journal/test-journal-interleaving.c
src/libsystemd/sd-netlink/netlink-message-nfnl.c
src/libsystemd/sd-netlink/test-netlink.c
src/libsystemd/sd-varlink/sd-varlink-idl.c
src/libsystemd/sd-varlink/varlink-util.c
src/login/logind-dbus.c
src/machine/machinectl.c
src/machine/machined-dbus.c
src/measure/measure-tool.c
src/mountfsd/mountfsd-manager.c
src/network/netdev/fou-tunnel.c
src/network/netdev/l2tp-tunnel.c
src/network/netdev/macsec.c
src/network/networkd-address.c
src/network/networkd-dhcp-server.c
src/network/networkd-dhcp6.c
src/network/networkd-manager.c
src/network/networkd-nexthop.c
src/network/networkd-route.c
src/network/tc/qdisc.c
src/network/tc/tclass.c
src/nspawn/nspawn-mount.c
src/nspawn/nspawn-network.c
src/nspawn/nspawn-oci.c
src/nspawn/nspawn.c
src/nsresourced/nsresourced-manager.c
src/nss-resolve/nss-resolve.c
src/pcrextend/pcrextend.c
src/pcrlock/pcrlock.c
src/portable/portablectl.c
src/repart/repart.c
src/report/report-cgroup.c
src/report/report.c
src/resolve/resolved-dns-dnssec.c
src/resolve/resolved-dns-synthesize.c
src/resolve/resolved-dns-transaction.c
src/resolve/resolved-static-records.c
src/resolve/resolved-varlink.c
src/resolve/test-dnssec-complex.c
src/shared/bootspec.c
src/shared/bpf-program.c
src/shared/bus-unit-util.c
src/shared/calendarspec.c
src/shared/cgroup-show.c
src/shared/conf-parser.c
src/shared/creds-util.c
src/shared/cryptsetup-util.c
src/shared/dissect-image.c
src/shared/dns-answer.c
src/shared/dns-packet.c
src/shared/dns-rr.c
src/shared/extension-util.c
src/shared/fido2-util.c
src/shared/hwdb-util.c
src/shared/install-printf.c
src/shared/install.c
src/shared/libfido2-util.c
src/shared/libmount-util.c
src/shared/machine-bind-user.c
src/shared/mkfs-util.c
src/shared/openssl-util.c
src/shared/pcrextend-util.c
src/shared/pkcs11-util.c
src/shared/pretty-print.c
src/shared/seccomp-util.c
src/shared/snapshot-util.c
src/shared/socket-netlink.c
src/shared/tar-util.c
src/shared/tpm2-util.c
src/shared/unit-file.c
src/shared/volatile-util.c
src/shared/watchdog.c
src/systemctl/systemctl-log-setting.c
src/sysupdate/sysupdate-partition.c
src/sysupdate/sysupdate-resource.c
src/sysupdate/sysupdate-transfer.c
src/sysusers/sysusers.c
src/tmpfiles/offline-passwd.c
src/tmpfiles/tmpfiles.c
src/tpm2-setup/tpm2-swtpm.c
src/udev/udevadm-monitor.c
src/userdb/userdbd-manager.c
src/xdg-autostart-generator/xdg-autostart-service.c

index 7f92c1c6bb23e6cf7b2d4f9ce90b15416fc9107c..3a3f07d2e36d802c5750a0e5721ff1ec6be5a0eb 100644 (file)
@@ -87,6 +87,8 @@ static int acquire_host_info(sd_bus *bus, HostInfo **hi) {
         _cleanup_(free_host_infop) HostInfo *host = NULL;
         int r;
 
+        assert(hi);
+
         host = new0(HostInfo, 1);
         if (!host)
                 return log_oom();
index cb2a2eab16acdcbc50713d1068b2ffd119aead5b..73d03d47a183a8c86f1f5a04412bfe0006bca578 100644 (file)
@@ -21,6 +21,8 @@ static int load_kernel_syscalls(Set **ret) {
         _cleanup_fclose_ FILE *f = NULL;
         int r;
 
+        assert(ret);
+
         /* Let's read the available system calls from the list of available tracing events. Slightly dirty,
          * but good enough for analysis purposes. */
 
index 9b67a1b417c32cfca89b5358523c10697462f4db..70332b0f691add012257df77277892199d9328ff 100644 (file)
@@ -172,6 +172,8 @@ int pretty_boot_time(sd_bus *bus, char **ret) {
         BootTimes *t;
         int r;
 
+        assert(ret);
+
         r = acquire_boot_times(bus, /* require_finished= */ true, &t);
         if (r < 0)
                 return r;
@@ -297,6 +299,8 @@ int acquire_time_data(sd_bus *bus, bool require_finished, UnitTimes **out) {
         UnitInfo u;
         int r;
 
+        assert(out);
+
         r = acquire_boot_times(bus, require_finished, &boot_times);
         if (r < 0)
                 return r;
index ddbaf4ee3c64cdc742d4ee0154ac67ff248d5d08..44e04d98aca5bb99915aca3c67fa5b7a851c5abc 100644 (file)
@@ -195,6 +195,8 @@ static int find_build_dir_binary(const char *fn, char **ret) {
 
 static int find_environment_binary(const char *fn, const char **ret) {
 
+        assert(ret);
+
         /* If a path such as /usr/lib/systemd/systemd-foobar is specified, then this will check for an
          * environment variable SYSTEMD_FOOBAR_PATH and return it if set. */
 
index 1e42aa60aa4ccb74f92f23946dccb63837f1ddaf..6a40ede29ed661f127fe8f8ab47175382f7771f2 100644 (file)
@@ -1256,6 +1256,8 @@ bool cg_needs_escape(const char *p) {
 int cg_escape(const char *p, char **ret) {
         _cleanup_free_ char *n = NULL;
 
+        assert(ret);
+
         /* This implements very minimal escaping for names to be used as file names in the cgroup tree: any
          * name which might conflict with a kernel name or is prefixed with '_' is prefixed with a '_'. That
          * way, when reading cgroup names it is sufficient to remove a single prefixing underscore if there
@@ -1652,6 +1654,8 @@ int cg_mask_supported_subtree(const char *root, CGroupMask *ret) {
         CGroupMask mask;
         int r;
 
+        assert(ret);
+
         /* Determines the mask of supported cgroup controllers. Only includes controllers we can make sense of and that
          * are actually accessible. Only covers real controllers, i.e. not the CGROUP_CONTROLLER_BPF_xyz
          * pseudo-controllers. */
index 7edf54edf37fee3c0651abe516ccf9520f207ec7..2dfa37f20bcc7deb8a5e583d27702a3042f233f7 100644 (file)
@@ -1370,6 +1370,8 @@ int read_timestamp_file(const char *fn, usec_t *ret) {
         uint64_t t;
         int r;
 
+        assert(ret);
+
         r = read_one_line_file(fn, &ln);
         if (r < 0)
                 return r;
index 1d3ee1d9e79e0b0284a8eae136a8ac5f92dfe235..451bb0d1ec25aaf07d9dc6323487aedb8e61992b 100644 (file)
@@ -1853,6 +1853,8 @@ int set_consume(Set *s, void *value) {
 int hashmap_put_strdup_full(Hashmap **h, const struct hash_ops *hash_ops, const char *k, const char *v) {
         int r;
 
+        assert(h);
+
         r = hashmap_ensure_allocated(h, hash_ops);
         if (r < 0)
                 return r;
@@ -2197,6 +2199,8 @@ int _hashmap_dump_keys_sorted(HashmapBase *h, void ***ret, size_t *ret_n) {
         size_t n;
         int r;
 
+        assert(ret);
+
         r = _hashmap_dump_entries_sorted(h, &entries, &n);
         if (r < 0)
                 return r;
@@ -2216,6 +2220,8 @@ int _hashmap_dump_sorted(HashmapBase *h, void ***ret, size_t *ret_n) {
         size_t n;
         int r;
 
+        assert(ret);
+
         r = _hashmap_dump_entries_sorted(h, &entries, &n);
         if (r < 0)
                 return r;
index 5b499fb6cd3c8aef981a3fd2fa0eb666d93b3a0a..fedb347e4a46177edfbb0fdef7ba999054f1f3e5 100644 (file)
@@ -1076,6 +1076,8 @@ int path_split_prefix_filename(const char *path, char **ret_dir, char **ret_file
         const char *c, *next = NULL;
         int r;
 
+        POINTER_MAY_BE_NULL(path);
+
         /* Split the path into dir prefix/filename pair. Returns:
          *
          * -EINVAL        → if the path is not valid
index 303603baa334b337b76fee0fae8702e41d4339cb..bd79dbfd2473099aeceba5f2cb6a52c9a1a14576 100644 (file)
@@ -667,6 +667,7 @@ char* strip_tab_ansi(char **ibuf, size_t *_isz, size_t highlight[2]) {
 
         assert(ibuf);
         assert(*ibuf);
+        POINTER_MAY_BE_NULL(_isz);
 
         /* This does three things:
          *
index ecdc2412472860372c3efbdf9654973b5542e12b..8c86d2e7be7c642b134969fcfdb30d214ad39a64 100644 (file)
@@ -1463,6 +1463,8 @@ int getttyname_harder(int fd, char **ret) {
         _cleanup_free_ char *s = NULL;
         int r;
 
+        assert(ret);
+
         r = getttyname_malloc(fd, &s);
         if (r < 0)
                 return r;
index 364bb7599736fd7cd1971cb8d851677d2772c44f..a3bc7ef3d4cb632cf7566186b6dd3b8cf9f6e099 100644 (file)
@@ -39,6 +39,8 @@ static int parse_alloc_uid(const char *path, const char *name, const char *t, ui
 #endif
 
 int read_login_defs(UGIDAllocationRange *ret_defs, const char *path, const char *root) {
+        assert(ret_defs);
+
 #if ENABLE_COMPAT_MUTABLE_UID_BOUNDARIES
         _cleanup_fclose_ FILE *f = NULL;
         UGIDAllocationRange defs;
index 8a04638b2f87b2930e26521232deea7a1a0df064..70ea429e2796931c28f9bc2265523285a4f3d367 100644 (file)
@@ -345,6 +345,7 @@ int unit_name_unescape(const char *f, char **ret) {
         char *t;
 
         assert(f);
+        assert(ret);
 
         r = strdup(f);
         if (!r)
@@ -547,6 +548,8 @@ int unit_name_hash_long(const char *name, char **ret) {
         le64_t h;
         size_t len;
 
+        assert(ret);
+
         if (strlen(name) < UNIT_NAME_MAX)
                 return -EMSGSIZE;
 
index c527908b264bc9e098b010a70aba197fd6f3f675..edb0ea1ca551341b7e46eedb03542435367748c5 100644 (file)
@@ -284,6 +284,9 @@ int utf8_to_ascii(const char *str, char replacement_char, char **ret) {
         /* Convert to a string that has only ASCII chars, replacing anything that is not ASCII
          * by replacement_char. */
 
+        assert(str);
+        assert(ret);
+
         _cleanup_free_ char *ans = new(char, strlen(str) + 1);
         if (!ans)
                 return -ENOMEM;
index bc5d7f0351dcd3e101366ac1205b7ec2289fa3b3..0a3107e8685b87dd154e46b49181a2b9e07035a4 100644 (file)
@@ -603,6 +603,8 @@ int bpf_firewall_compile(Unit *u) {
 }
 
 static int load_bpf_progs_from_fs_to_set(Unit *u, char **filter_paths, Set **set) {
+        assert(set);
+
         set_clear(*set);
 
         STRV_FOREACH(bpf_fs_path, filter_paths) {
index f5a117d2bde96d1c49e66bd1a4a488a48363e22e..dba79b860266f425ae259e3051f71f5c14755b8a 100644 (file)
@@ -229,6 +229,7 @@ static int find_unit(Manager *m, sd_bus *bus, const char *path, Unit **unit, sd_
         assert(m);
         assert(bus);
         assert(path);
+        assert(unit);
 
         if (streq(path, "/org/freedesktop/systemd1/unit/self")) {
                 _cleanup_(pidref_done) PidRef pidref = PIDREF_NULL;
index e6cb9e5cc864ad56cf1b1d2998eaa6bba0b8484f..dea0699ba438ab02a72b224ffdda598d31b29a9a 100644 (file)
@@ -2372,6 +2372,8 @@ static int exec_shared_runtime_add(
 
         assert(m);
         assert(id);
+        assert(tmp_dir);
+        assert(var_tmp_dir);
 
         /* tmp_dir, var_tmp_dir, {net,ipc}ns_storage_socket fds are donated on success */
 
index 655f0ac6659c62d4969843e439c74cc5b447683b..b4022105e88b48db657a1a5ac09dbd79fab693fc 100644 (file)
@@ -2652,6 +2652,8 @@ static int do_queue_default_job(
         Unit *target;
         int r;
 
+        assert(ret_error_message);
+
         if (arg_default_unit)
                 unit = arg_default_unit;
         else if (in_initrd())
index 73368ec18aec960158f664c1843303db489c4670..89e5ccd1a8ebb90e329bfda8b01849a5bb8570c5 100644 (file)
@@ -2522,6 +2522,8 @@ int manager_load_startable_unit_or_warn(
         Unit *unit;
         int r;
 
+        assert(ret);
+
         r = manager_load_unit(m, name, path, &error, &unit);
         if (r < 0)
                 return log_error_errno(r, "Failed to load %s %s: %s",
index f911f1758fb96898edefc4dfd1fa92dc0962fbc2..fbf0dfd9332aee7ca03ca151b2b5648f704c07b5 100644 (file)
@@ -2026,6 +2026,7 @@ static int socket_chown(Socket *s, PidRef *ret_pid) {
         int r;
 
         assert(s);
+        assert(ret_pid);
 
         r = socket_arm_timer(s, /* relative= */ true, s->timeout_usec);
         if (r < 0)
index 473f7c7d20d2cb81e053d74cf0107be99a798f9b..8c168b0bb0e7d6a0f5a5b46573dcef5d6a91db66 100644 (file)
@@ -50,6 +50,8 @@ static int specifier_last_component(char specifier, const void *data, const char
         char *dash;
         int r;
 
+        assert(ret);
+
         r = unit_name_to_prefix(u->id, &prefix);
         if (r < 0)
                 return r;
index dc205097e050f990fc4114691f8ce56ffedf3bfd..3404d7f8d3a762cf71344fc6f01f0242a14f8ec8 100644 (file)
@@ -132,6 +132,8 @@ int unit_new_for_name(Manager *m, size_t size, const char *name, Unit **ret) {
         _cleanup_(unit_freep) Unit *u = NULL;
         int r;
 
+        assert(ret);
+
         u = unit_new(m, size);
         if (!u)
                 return -ENOMEM;
@@ -4301,6 +4303,9 @@ static int user_from_unit_name(Unit *u, char **ret) {
         _cleanup_free_ char *n = NULL;
         int r;
 
+        assert(u);
+        assert(ret);
+
         r = unit_name_to_prefix(u->id, &n);
         if (r < 0)
                 return r;
index ab32def28b7bb37a832ae30b61092b2d1db78835..26abeefc0a8edf6b7e14359fce7b1625c4e9b17c 100644 (file)
@@ -194,6 +194,8 @@ static int device_allow_build_json(sd_json_variant **ret, const char *name, void
         CGroupDeviceAllow *allow = userdata;
         int r;
 
+        assert(ret);
+
         LIST_FOREACH(device_allow, a, allow) {
                 r = sd_json_variant_append_arraybo(
                                 &v,
index ccb454c8c245bd51b200c465e8a4641d086242d6..5a65220f1e1616a8ffe0d0f4bb768ee0346ef5a3 100644 (file)
@@ -470,48 +470,56 @@ static int private_bpf_delegate_commands_build_json(sd_json_variant **ret, const
         ExecContext *c = ASSERT_PTR(userdata);
         _cleanup_free_ char *v = bpf_delegate_commands_to_string(c->bpf_delegate_commands);
 
+        assert(ret);
+
         if (!v) {
                 *ret = NULL;
                 return 0;
         }
 
-        return sd_json_variant_new_string(ASSERT_PTR(ret), v);
+        return sd_json_variant_new_string(ret, v);
 }
 
 static int private_bpf_delegate_maps_build_json(sd_json_variant **ret, const char *name, void *userdata) {
         ExecContext *c = ASSERT_PTR(userdata);
         _cleanup_free_ char *v = bpf_delegate_maps_to_string(c->bpf_delegate_maps);
 
+        assert(ret);
+
         if (!v) {
                 *ret = NULL;
                 return 0;
         }
 
-        return sd_json_variant_new_string(ASSERT_PTR(ret), v);
+        return sd_json_variant_new_string(ret, v);
 }
 
 static int private_bpf_delegate_programs_build_json(sd_json_variant **ret, const char *name, void *userdata) {
         ExecContext *c = ASSERT_PTR(userdata);
         _cleanup_free_ char *v = bpf_delegate_programs_to_string(c->bpf_delegate_programs);
 
+        assert(ret);
+
         if (!v) {
                 *ret = NULL;
                 return 0;
         }
 
-        return sd_json_variant_new_string(ASSERT_PTR(ret), v);
+        return sd_json_variant_new_string(ret, v);
 }
 
 static int private_bpf_delegate_attachments_build_json(sd_json_variant **ret, const char *name, void *userdata) {
         ExecContext *c = ASSERT_PTR(userdata);
         _cleanup_free_ char *v = bpf_delegate_attachments_to_string(c->bpf_delegate_attachments);
 
+        assert(ret);
+
         if (!v) {
                 *ret = NULL;
                 return 0;
         }
 
-        return sd_json_variant_new_string(ASSERT_PTR(ret), v);
+        return sd_json_variant_new_string(ret, v);
 }
 
 static int syscall_filter_build_json(sd_json_variant **ret, const char *name, void *userdata) {
index 574d3ecd5292892c31705b9dab85d47ab66fde8b..6cacae4eff1ae28d151095f654a486de0c6978d9 100644 (file)
@@ -153,6 +153,7 @@ static int get_process_container_parent_cmdline(PidRef *pid, char** ret_cmdline)
 
         assert(pidref_is_set(pid));
         assert(!pidref_is_remote(pid));
+        assert(ret_cmdline);
 
         r = pidref_from_same_root_fs(pid, &PIDREF_MAKE_FROM_PID(1));
         if (r < 0)
index 18ffb2edc3e8b63c17c2d864bd5ece0885e51c23..7ddb9f871ba71145c7d32fbd51f9e2dd50fafc01 100644 (file)
@@ -14,6 +14,8 @@ static int uri_set_private_class(const char *uri, char **ret_uri) {
         _cleanup_free_ char *private_uri = NULL;
         int r;
 
+        assert(ret_uri);
+
         r = uri_from_string(uri, &p11kit_uri);
         if (r < 0)
                 return log_error_errno(r, "Failed to parse PKCS#11 URI '%s': %m", uri);
index 8e2ca625aeca07c74edfbda6c56a0adf5f9a22c3..8b4873924599c48d2ec036464a4222432e252d60 100644 (file)
@@ -242,6 +242,8 @@ int acquire_hibernate_info(HibernateInfo *ret) {
         _cleanup_(hibernate_info_done) HibernateInfo i = {};
         int r;
 
+        assert(ret);
+
         r = get_kernel_hibernate_location(&i.cmdline);
         if (r < 0)
                 return r;
index 9dc135fd70508fbedb2eaa0dd0cfc6b2ec58ac07..194e73b4917497fa22e5f0ec6af1c163337a0043 100644 (file)
@@ -3658,6 +3658,8 @@ static int parse_environment_field(sd_json_variant **identity, const char *field
 static int parse_language_field(char ***languages, const char *arg) {
         int r;
 
+        assert(languages);
+
         if (isempty(arg)) {
                 r = drop_from_identity("preferredLanguage", "additionalLanguages");
                 if (r < 0)
index 8b9a13f7ea5ef3ca9aa441085614e1589c140245..10b9af8e026fc1ebe67cefbd3e3b6d30526ba0db 100644 (file)
@@ -801,6 +801,8 @@ static int bus_home_object_find(
         Home *h;
         int r;
 
+        assert(found);
+
         r = sd_bus_path_decode(path, "/org/freedesktop/home1/home", &e);
         if (r <= 0)
                 return 0;
index caa05db26f491e041042f34a4e013bb0945a0ba9..1f8c12d3a3111ca458a44e7c3eef47c5249d27ed 100644 (file)
@@ -805,6 +805,7 @@ static int crypt_device_to_evp_cipher(struct crypt_device *cd, const EVP_CIPHER
         int r;
 
         assert(cd);
+        assert(ret);
 
         /* Let's find the right OpenSSL EVP_CIPHER object that matches the encryption settings of the LUKS
          * device */
@@ -857,6 +858,7 @@ static int luks_validate_home_record(
 
         assert(cd);
         assert(h);
+        assert(ret_luks_home_record);
 
         for (int token = 0; token < sym_crypt_token_max(CRYPT_LUKS2); token++) {
                 _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL, *rr = NULL;
@@ -1918,6 +1920,7 @@ static int make_partition_table(
         assert(label);
         assert(ret_offset);
         assert(ret_size);
+        assert(ret_disk_uuid);
 
         t = fdisk_new_parttype();
         if (!t)
@@ -2786,6 +2789,7 @@ static int prepare_resize_partition(
         assert(fd >= 0);
         assert(ret_disk_uuid);
         assert(ret_table);
+        assert(ret_partition);
 
         assert((partition_offset & 511) == 0);
         assert((old_partition_size & 511) == 0);
index 2efd3ddb608fad5bea4a6789706b626f4ea1895a..a6e7d3751a1cc030a5ea55693c67b4bd749a8989 100644 (file)
@@ -915,6 +915,7 @@ static int home_activate(UserRecord *h, UserRecord **ret_home) {
         int r;
 
         assert(h);
+        assert(ret_home);
 
         if (!h->user_name)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "User record lacks user name, refusing.");
index 2563a53234de9e7577e8309606967d8188c4e449..b27d993922a603e78cd5701ee465d211c43681be 100644 (file)
@@ -197,6 +197,7 @@ int user_record_reconcile(
 
         assert(host);
         assert(embedded);
+        assert(ret);
 
         /* Make sure both records are initialized */
         if (!host->json || !embedded->json)
index 49462c6a65d89e28dbbee1d5df0ea8572211ee8e..60b48112449cf1bbd60463abde79a03d654e7a20 100644 (file)
@@ -398,6 +398,8 @@ static int get_hardware_sku(Context *c, char **ret) {
         _cleanup_free_ char *model = NULL, *sku = NULL;
         int r;
 
+        assert(ret);
+
         r = get_dmi_property(c, "ID_SKU", &sku);
         if (r < 0)
                 return r;
@@ -419,6 +421,8 @@ static int get_hardware_version(Context *c, char **ret) {
         _cleanup_free_ char *version = NULL;
         int r;
 
+        assert(ret);
+
         r = get_dmi_property(c, "ID_HARDWARE_VERSION", &version);
         if (r < 0)
                 return r;
index bddc93d52b80dc990a8e2b1309c739352f5e22a2..48842a20b700b4be067988f5b4a9f2abc00fea74 100644 (file)
@@ -207,6 +207,8 @@ int curl_glue_new(CurlGlue **glue, sd_event *event) {
         _cleanup_(sd_event_unrefp) sd_event *e = NULL;
         int r;
 
+        assert(glue);
+
         if (event)
                 e = sd_event_ref(event);
         else {
index 96f7729fb6393ed6ef16046680c86373dff0d21c..d8c16bc3d9785c7591b890edd55d2f96efa2d9c7 100644 (file)
@@ -153,7 +153,8 @@ int oci_ref_normalize(char **protocol, char **registry, char **image, char **tag
 
         assert(protocol);
         assert(registry);
-        assert(image && *image);
+        assert(image);
+        assert(*image);
         assert(tag);
 
         /* OCI container reference are supposed to have the form <registry>/<name>:<tag>. Except that it's
@@ -379,6 +380,7 @@ static const char *const go_arch_table[_ARCHITECTURE_MAX] = {
 DEFINE_STRING_TABLE_LOOKUP_FROM_STRING(go_arch, Architecture);
 
 char* urlescape(const char *s) {
+        POINTER_MAY_BE_NULL(s);
         size_t l = strlen_ptr(s);
 
         _cleanup_free_ char *t = new(char, l * 3 + 1);
index b234331945a9b705d203afcaf3656fd082e0f332..ac921addb28aa7068a9cca8884466e14405ec1a3 100644 (file)
@@ -678,6 +678,7 @@ int pull_job_restart_with_signature(PullJob *j, char **ret) {
         int r;
 
         assert(j);
+        assert(ret);
 
         /* Generic implementation of a PullJobNotFound handler, that restarts the job requesting a different
          * signature file. After the initial file, additional *.sha256.gpg, SHA256SUMS.gpg and SHA256SUMS.asc
index 270f70396cab60d748cf4c4e0e39bd741dbfa00e..648fa07c37c5ac146a89ed171559cf7a114971d4 100644 (file)
@@ -46,6 +46,8 @@ static int normalize_local(const char *local, const char *url, char **ret) {
         _cleanup_free_ char *ll = NULL;
         int r;
 
+        assert(ret);
+
         if (arg_import_flags & IMPORT_DIRECT) {
 
                 if (!local)
index c140c406cb6b69c473dd9033b275404834d6cf73..7cb884622490e2dbf9f3a61398c4769afa463b51 100644 (file)
@@ -815,6 +815,8 @@ static int get_virtualization(char **v) {
         char *b = NULL;
         int r;
 
+        assert(v);
+
         r = sd_bus_default_system(&bus);
         if (r < 0)
                 return r;
index 3abc0d3869a62013a86e24d3bc3619ded5188082..764e5091ab3fdc8b7d7314c91d89f296f56655d2 100644 (file)
@@ -463,7 +463,9 @@ static int manager_find_user_journal(Manager *m, uid_t uid, JournalFile **ret) {
         _cleanup_free_ char *p = NULL;
         int r;
 
+        assert(m);
         assert(!uid_for_system_journal(uid));
+        assert(ret);
 
         f = ordered_hashmap_get(m->user_journals, UID_TO_PTR(uid));
         if (f)
index 740791bba3562677b251372c5dae0d457a748fb8..8c0abba4207ada04a0124d919268e4db3c2e1ed7 100644 (file)
@@ -1128,6 +1128,7 @@ static int kernel_from_version(const char *version, char **ret_kernel) {
         int r;
 
         assert(version);
+        assert(ret_kernel);
 
         vmlinuz = path_join("/usr/lib/modules/", version, "/vmlinuz");
         if (!vmlinuz)
index 358fb3ca756dd7b0fbb75e5e1c66e1a2c394d541..041dc4821655dacca827e8ed6442c42eca850950 100644 (file)
@@ -418,6 +418,8 @@ int bus_message_from_malloc(
         size_t sz;
         int r;
 
+        assert(ret);
+
         r = message_from_header(
                         bus,
                         buffer, length,
index 4063d79159a555a8ce725a5c8202f606573843b6..f35056aa8e44e3fd66b80b87f580c5545329256d 100644 (file)
@@ -27,6 +27,8 @@ typedef enum Type {
 static void server(sd_bus *b, size_t *result) {
         int r;
 
+        assert(result);
+
         for (;;) {
                 _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
 
index c1c720b364b08a9f3184f2356a5ff1962c8b0be5..8d88f3eb6727a1bc499c50f0a9f80803727a7433 100644 (file)
@@ -20,6 +20,8 @@
 static void prepare_loopback(sd_device **ret) {
         _cleanup_(sd_device_unrefp) sd_device *dev = NULL;
 
+        assert(ret);
+
         ASSERT_OK(sd_device_new_from_syspath(&dev, "/sys/class/net/lo"));
         ASSERT_OK(device_add_property(dev, "ACTION", "add"));
         ASSERT_OK(device_add_property(dev, "SEQNUM", "10"));
@@ -32,6 +34,8 @@ static int prepare_sda(sd_device **ret) {
         _cleanup_(sd_device_unrefp) sd_device *dev = NULL;
         int r;
 
+        assert(ret);
+
         r = sd_device_new_from_subsystem_sysname(&dev, "block", "sda");
         if (r < 0)
                 return r;
@@ -55,6 +59,9 @@ static int monitor_handler(sd_device_monitor *m, sd_device *d, void *userdata) {
 static void prepare_monitor(sd_device_monitor **ret_server, sd_device_monitor **ret_client, union sockaddr_union *ret_address) {
         _cleanup_(sd_device_monitor_unrefp) sd_device_monitor *monitor_server = NULL, *monitor_client = NULL;
 
+        assert(ret_server);
+        assert(ret_client);
+
         ASSERT_OK(device_monitor_new_full(&monitor_server, MONITOR_GROUP_NONE, -EBADF));
         ASSERT_OK(sd_device_monitor_set_description(monitor_server, "sender"));
         ASSERT_OK(sd_device_monitor_start(monitor_server, NULL, NULL));
index 43b76f46e9baf82da690b9923baf732dcdfbad87..df1a6bc600785c4c5839be40114df785fdbe6b22 100644 (file)
@@ -351,6 +351,9 @@ static void test_sd_device_enumerator_filter_subsystem_one(
         unsigned n_new_dev = 0, n_removed_dev = 0;
         sd_device *dev;
 
+        assert(ret_n_new_dev);
+        assert(ret_n_removed_dev);
+
         ASSERT_OK(sd_device_enumerator_new(&e));
         ASSERT_OK(sd_device_enumerator_add_match_subsystem(e, subsystem, true));
         exclude_problematic_devices(e);
index b0d7e80b116bb3cea5e397b3c40bb1c9525afe9c..5cf65d89ed95de8567b98c0905d0cad5015f664b 100644 (file)
@@ -222,6 +222,8 @@ static void setup_unreferenced_data(void) {
 static void mkdtemp_chdir_chattr(const char *template, char **ret) {
         _cleanup_(rm_rf_physical_and_freep) char *path = NULL;
 
+        assert(ret);
+
         ASSERT_OK(mkdtemp_malloc(template, &path));
         ASSERT_OK_ERRNO(chdir(path));
 
index a485fd096fd617e6951811efbdeaa751258ffab6..51983e515e3a3eb2df562855ce4aee78e0be4af7 100644 (file)
@@ -242,6 +242,8 @@ int sd_nfnl_nft_message_new_basechain(
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
         int r;
 
+        assert(ret);
+
         r = sd_nfnl_message_new(nfnl, &m, nfproto, NFNL_SUBSYS_NFTABLES, NFT_MSG_NEWCHAIN, NLM_F_CREATE);
         if (r < 0)
                 return r;
@@ -287,6 +289,8 @@ int sd_nfnl_nft_message_new_table(
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
         int r;
 
+        assert(ret);
+
         r = sd_nfnl_message_new(nfnl, &m, nfproto, NFNL_SUBSYS_NFTABLES, NFT_MSG_NEWTABLE, NLM_F_CREATE | NLM_F_EXCL);
         if (r < 0)
                 return r;
@@ -309,6 +313,8 @@ int sd_nfnl_nft_message_new_rule(
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
         int r;
 
+        assert(ret);
+
         r = sd_nfnl_message_new(nfnl, &m, nfproto, NFNL_SUBSYS_NFTABLES, NFT_MSG_NEWRULE, NLM_F_CREATE);
         if (r < 0)
                 return r;
@@ -337,6 +343,8 @@ int sd_nfnl_nft_message_new_set(
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
         int r;
 
+        assert(ret);
+
         r = sd_nfnl_message_new(nfnl, &m, nfproto, NFNL_SUBSYS_NFTABLES, NFT_MSG_NEWSET, NLM_F_CREATE);
         if (r < 0)
                 return r;
@@ -372,6 +380,8 @@ int sd_nfnl_nft_message_new_setelems(
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
         int r;
 
+        assert(ret);
+
         if (add)
                 r = sd_nfnl_message_new(nfnl, &m, nfproto, NFNL_SUBSYS_NFTABLES, NFT_MSG_NEWSETELEM, NLM_F_CREATE);
         else
index f127de7705c22252b2de71c8aa63840aaf902898..e0154b7ef77551470a758717a53df8cfb2d67f18 100644 (file)
@@ -608,6 +608,8 @@ static void remove_dummy_interfacep(int *ifindex) {
         _cleanup_(sd_netlink_unrefp) sd_netlink *rtnl = NULL;
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *message = NULL;
 
+        POINTER_MAY_BE_NULL(ifindex);
+
         if (!ifindex || *ifindex <= 0)
                 return;
 
index dc09080cdabf36984cff2e9569f80e9adbf743d7..3811b5d03b7e29f84aaabd649e50684a081358c1 100644 (file)
@@ -840,6 +840,7 @@ static int varlink_idl_subparse_field_type(
         assert(p);
         assert(*p);
         assert(line);
+        assert(column);
         assert(field);
 
         r = varlink_idl_subparse_whitespace(p, line, column);
@@ -1171,6 +1172,9 @@ _public_ int sd_varlink_idl_parse(
 
         _cleanup_(sd_varlink_interface_freep) sd_varlink_interface *interface = NULL;
         _cleanup_(varlink_symbol_freep) sd_varlink_symbol *symbol = NULL;
+
+        assert_return(ret, -EINVAL);
+
         enum {
                 STATE_PRE_INTERFACE,
                 STATE_INTERFACE,
index 83921c57e0a15d6ec5730d4ff4541197b26c1493..8b61627c562c9daee4c71704924a68f015469dab 100644 (file)
@@ -175,6 +175,8 @@ int varlink_server_new(
         _cleanup_(sd_varlink_server_unrefp) sd_varlink_server *s = NULL;
         int r;
 
+        assert(ret);
+
         r = sd_varlink_server_new(&s, flags|SD_VARLINK_SERVER_FD_PASSING_INPUT_STRICT);
         if (r < 0)
                 return log_debug_errno(r, "Failed to allocate varlink server object: %m");
index 98c651896d281c380f88708dbfd4c5b5c7f0574a..bef9f51aef834e2f0d830600dbad08bfaeb60fcd 100644 (file)
@@ -90,6 +90,7 @@ static int get_sender_session(
         int r;
 
         assert(m);
+        assert(ret);
 
         /* Acquire the sender's session. This first checks if the sending process is inside a session itself,
          * and returns that. If not and 'consult_display' is true, this returns the display session of the
@@ -165,6 +166,8 @@ static int get_sender_user(Manager *m, sd_bus_message *message, sd_bus_error *er
         User *user;
         int r;
 
+        assert(ret);
+
         /* Note that we get the owner UID of the session, not the actual client UID here! */
         r = sd_bus_query_sender_creds(message, SD_BUS_CREDS_OWNER_UID|SD_BUS_CREDS_AUGMENT, &creds);
         if (r < 0)
index 6c684149cb957a4bd1746bf69b64af118e66911b..d31cfcbbe548179fb0b7b8a2c35865bf13613c87 100644 (file)
@@ -193,6 +193,7 @@ static int call_get_addresses(
         assert(name);
         assert(prefix);
         assert(prefix2);
+        assert(ret);
 
         r = bus_call_method(bus, bus_machine_mgr, "GetMachineAddresses", NULL, &reply, "s", name);
         if (r < 0)
index 4e39594a44dfe7fafc929e5b4a7779e21f224642..f5315b9763083e0b4fb20589fdb61c4e88494f94 100644 (file)
@@ -257,6 +257,8 @@ static int machine_add_from_params(
         assert(message);
         assert(name);
         assert(c == _MACHINE_CLASS_INVALID || MACHINE_CLASS_CAN_REGISTER(c));
+        assert(leader_pidref);
+        assert(supervisor_pidref);
         assert(ret);
 
         if (leader_pidref->pid == 1)
index d632bb62f5547e2c163e19e032798a7daff7936e..6a2e2994f9fea766c09bd5e77c14a6064151aadc 100644 (file)
@@ -639,6 +639,8 @@ static int pcr_states_allocate(PcrState **ret) {
         _cleanup_(pcr_state_free_all) PcrState *pcr_states = NULL;
         size_t n = 0;
 
+        assert(ret);
+
         pcr_states = new0(PcrState, strv_length(arg_banks) + 1);
         if (!pcr_states)
                 return log_oom();
index b4c5655c51d159856a9e4998566cf54dde84adba..993dda950108e393c231d429a5db8395ec5b16ad 100644 (file)
@@ -69,6 +69,8 @@ int manager_new(Manager **ret) {
         _cleanup_(manager_freep) Manager *m = NULL;
         int r;
 
+        assert(ret);
+
         m = new(Manager, 1);
         if (!m)
                 return -ENOMEM;
index 786ac9e0dd4c63dc8a645975a385b4530c9825aa..e2c552526603912c4fd63b434bfc522c0e1b4e4a 100644 (file)
@@ -86,6 +86,7 @@ static int netdev_create_fou_tunnel_message(NetDev *netdev, sd_netlink_message *
 
         assert(netdev);
         assert(netdev->manager);
+        assert(ret);
 
         r = sd_genl_message_new(netdev->manager->genl, FOU_GENL_NAME, FOU_CMD_ADD, &m);
         if (r < 0)
index 1afe109c1b108d46cb515a267b6b0a411b80ad43..fad6f20a4295d618466d8d8cd519157643f97074 100644 (file)
@@ -104,6 +104,7 @@ static int netdev_l2tp_create_message_tunnel(NetDev *netdev, union in_addr_union
         assert(local_address);
         assert(netdev);
         assert(netdev->manager);
+        assert(ret);
 
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
         uint16_t encap_type;
@@ -200,6 +201,7 @@ static int netdev_l2tp_create_message_session(NetDev *netdev, L2tpSession *sessi
         assert(netdev->manager);
         assert(session);
         assert(session->tunnel);
+        assert(ret);
 
         r = sd_genl_message_new(netdev->manager->genl, L2TP_GENL_NAME, L2TP_CMD_SESSION_CREATE, &m);
         if (r < 0)
index 9f3ddcc2b193775c4da07dd7f744702acf3c56e7..1d6aee249b9117946dbb6a6ca2ce4e052d1c4eaf 100644 (file)
@@ -239,6 +239,7 @@ static int netdev_macsec_create_message(NetDev *netdev, int command, sd_netlink_
         assert(netdev);
         assert(netdev->ifindex > 0);
         assert(netdev->manager);
+        assert(ret);
 
         r = sd_genl_message_new(netdev->manager->genl, MACSEC_GENL_NAME, command, &m);
         if (r < 0)
index 3d2bf95d9930e69b26e8534a93c38cf23147f384..01eef634f433b5a756ad6a200e043f6e9b733ed9 100644 (file)
@@ -173,6 +173,8 @@ DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(
 int address_new(Address **ret) {
         _cleanup_(address_unrefp) Address *address = NULL;
 
+        assert(ret);
+
         address = new(Address, 1);
         if (!address)
                 return -ENOMEM;
index 23ee3024e902ad89a690aced6c00b5ca4547d761..c88488258f00285e136d3c1dae6d3ecc802b314b 100644 (file)
@@ -456,6 +456,9 @@ static int dhcp4_server_parse_dns_server_string_and_warn(
                 struct in_addr **addresses,
                 size_t *n_addresses) {
 
+        assert(addresses);
+        assert(n_addresses);
+
         for (;;) {
                 _cleanup_free_ char *word = NULL, *server_name = NULL;
                 union in_addr_union address;
index 26ab7ceb52944715b336827495430d4e5f64672a..c230a86587464a1ebe5cd3bfebe75ab21e61ec7a 100644 (file)
@@ -202,6 +202,10 @@ static int dhcp6_request_address(
         Address *existing;
         int r;
 
+        assert(link);
+        assert(server_address);
+        assert(ip6_addr);
+
         r = address_new(&addr);
         if (r < 0)
                 return log_oom();
index 66366fe60d38ccf873c436e5f8f416a3504487a3..f43709da356c959374bc5ff765548834ef661bf6 100644 (file)
@@ -677,6 +677,8 @@ static int persistent_storage_open(void) {
 int manager_new(Manager **ret, bool test_mode) {
         _cleanup_(manager_freep) Manager *m = NULL;
 
+        assert(ret);
+
         m = new(Manager, 1);
         if (!m)
                 return -ENOMEM;
index 0e453e159748a0dcc678d21ec29f2f83398baad3..9a32a17050d05259769b1db060b4a08e34a56e7a 100644 (file)
@@ -131,6 +131,8 @@ DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(
 int nexthop_new(NextHop **ret) {
         _cleanup_(nexthop_unrefp) NextHop *nexthop = NULL;
 
+        assert(ret);
+
         nexthop = new(NextHop, 1);
         if (!nexthop)
                 return -ENOMEM;
index 593832df51aa87d5149fa1ce7a2fead76f7379a6..81cfe84add80ad69bea35e0c0b1fdcc5fc052928 100644 (file)
@@ -245,6 +245,8 @@ DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(
 int route_new(Route **ret) {
         _cleanup_(route_unrefp) Route *route = NULL;
 
+        assert(ret);
+
         route = new(Route, 1);
         if (!route)
                 return -ENOMEM;
index e16ace841e3ae2b0337e0481b109203dd27732f5..e0d383763f4a39fccfbcb29f6cf6dcce08027b05 100644 (file)
@@ -115,6 +115,8 @@ static int qdisc_new(QDiscKind kind, QDisc **ret) {
         _cleanup_(qdisc_unrefp) QDisc *qdisc = NULL;
         int r;
 
+        assert(ret);
+
         if (kind == _QDISC_KIND_INVALID) {
                 qdisc = new(QDisc, 1);
                 if (!qdisc)
index 3b53a59a1b686a2659384de11c7a92241d385126..5d7664866d4c554ece82cee1259a48751dc1fba9 100644 (file)
@@ -77,6 +77,8 @@ static int tclass_new(TClassKind kind, TClass **ret) {
         _cleanup_(tclass_unrefp) TClass *tclass = NULL;
         int r;
 
+        assert(ret);
+
         if (kind == _TCLASS_KIND_INVALID) {
                 tclass = new(TClass, 1);
                 if (!tclass)
index 1ee01238f31ef84121cda89d0b916062de091773..a75582e2b4d6e01dd8c59d715e3718f90613c459 100644 (file)
@@ -757,12 +757,13 @@ int mount_all(const char *dest,
 }
 
 static int parse_mount_bind_options(const char *options, unsigned long *open_tree_flags, char **mount_opts, RemountIdmapping *idmapping) {
-        unsigned long flags = *open_tree_flags;
+        unsigned long flags = *ASSERT_PTR(open_tree_flags);
         char *opts = NULL;
-        RemountIdmapping new_idmapping = *idmapping;
+        RemountIdmapping new_idmapping = *ASSERT_PTR(idmapping);
         int r;
 
         assert(options);
+        assert(mount_opts);
 
         for (;;) {
                 _cleanup_free_ char *word = NULL;
index c7e5c417cab4b0756a7122ad09a0bdff683e692d..6949ecac724a9f2cbea9fae7430bf45b7dbbba23 100644 (file)
@@ -177,6 +177,7 @@ int setup_veth(const char *machine_name,
         assert(machine_name);
         assert(pidref_is_set(pid));
         assert(iface_name);
+        assert(provided_mac);
 
         /* Use two different interface name prefixes depending whether
          * we are in bridge mode or not. */
index 56e1f4db75fb7d39eb0e1b31c8d0ffd640ec60e7..5cbc58969f186035095d10aa5b9104688f54a29d 100644 (file)
@@ -2082,6 +2082,7 @@ int oci_load(FILE *f, const char *bundle, Settings **ret) {
         int r;
 
         assert_se(bundle);
+        assert(ret);
 
         path = strjoina(bundle, "/config.json");
 
index accf448ea97f2876e8dde76e1473fb93c3b0a6d2..68faa12c05f575a8aa0f55d155f6745e50064816 100644 (file)
@@ -445,6 +445,8 @@ static int parse_capability_spec(const char *spec, uint64_t *ret_mask) {
         uint64_t mask = 0;
         int r;
 
+        assert(ret_mask);
+
         for (;;) {
                 _cleanup_free_ char *t = NULL;
 
index 664cb2d1a2ad180b7c83e39a58f2a1a7968b2558..3102563617e1cb99c7a25b23445eceb55751b329 100644 (file)
@@ -89,6 +89,8 @@ int manager_new(Manager **ret) {
         _cleanup_(manager_freep) Manager *m = NULL;
         int r;
 
+        assert(ret);
+
         m = new(Manager, 1);
         if (!m)
                 return -ENOMEM;
index ea60727e906d93c6bb95dc4b1a9f53f9a75953dc..2bcfca71e5bd864595b54fbcf1da4a1499d7f530 100644 (file)
@@ -50,6 +50,8 @@ static int connect_to_resolved(sd_varlink **ret) {
         _cleanup_(sd_varlink_unrefp) sd_varlink *link = NULL;
         int r;
 
+        assert(ret);
+
         r = sd_varlink_connect_address(&link, "/run/systemd/resolve/io.systemd.Resolve");
         if (r < 0)
                 return r;
index 2a087ec8f89dfabff1452ba977f5923bc3d8ea9c..e35f579e63738dd11634aff3c4cf284bf0d8af38 100644 (file)
@@ -261,6 +261,7 @@ static int escape_and_truncate_data(const void *data, size_t size, char **ret) {
         _cleanup_free_ char *safe = NULL;
 
         assert(data || size == 0);
+        assert(ret);
 
         if (size > EXTENSION_STRING_SAFE_LIMIT) {
                 safe = cescape_length(data, EXTENSION_STRING_SAFE_LIMIT);
index 67303d032b0191981b9f7da4ec992ec0be6e40ba..a6ec5c23d03a2c4a971733a9fefeddf9db06ccf4 100644 (file)
@@ -2456,6 +2456,8 @@ static int event_log_load_and_process(EventLog **ret) {
         _cleanup_(event_log_freep) EventLog *el = NULL;
         int r;
 
+        assert(ret);
+
         el = event_log_new();
         if (!el)
                 return log_oom();
@@ -3613,6 +3615,7 @@ static int pcrlock_file_system_path(const char *normalized_path, char **ret) {
         _cleanup_free_ char *s = NULL;
 
         assert(normalized_path);
+        assert(ret);
 
         if (path_equal(normalized_path, "/"))
                 s = strdup(PCRLOCK_ROOT_FILE_SYSTEM_PATH);
index 7c2cbf3e52b3ab87da9c1bb163fe75fb8c72134e..2c555ee35987753a8001781eb5bda8b7945bbaca 100644 (file)
@@ -132,6 +132,8 @@ static int extract_prefix(const char *path, char **ret) {
         size_t m;
         int r;
 
+        assert(ret);
+
         r = path_extract_filename(path, &bn);
         if (r < 0)
                 return r;
index e9cd0d85699a7472d3596a3d6c149974be5e77a1..10a9a949b5f4cb92c7f5b6173280392c642af4dc 100644 (file)
@@ -2691,6 +2691,8 @@ static int parse_key_file(const char *filename, struct iovec *key) {
         size_t n = 0;
         int r;
 
+        assert(key);
+
         r = read_full_file_full(
                         AT_FDCWD, filename,
                         /* offset= */ UINT64_MAX,
@@ -4383,6 +4385,8 @@ static int partition_hint(const Partition *p, const char *node, char **ret) {
         const char *label;
         sd_id128_t id;
 
+        assert(ret);
+
         /* Tries really hard to find a suitable description for this partition */
 
         if (p->definition_path)
index 476b074ac05bf2089697067d1ea1e227238415d8..c3dabe41b1016d48a380c3ccd7645eddee29783f 100644 (file)
@@ -284,6 +284,9 @@ static int io_stat_parse(const char *cgroup_path, uint64_t *ret_rbytes, uint64_t
         uint64_t rbytes = 0, rios = 0;
         int r;
 
+        assert(ret_rbytes);
+        assert(ret_rios);
+
         r = cg_get_path(cgroup_path, "io.stat", &path);
         if (r < 0)
                 return r;
index ca169c94a8f07f602b9356cc080aaa045cfa48dd..74366cffdff772d655e1874c4465e47519f36758 100644 (file)
@@ -337,6 +337,7 @@ static int output_collected_list(Context *context, Table **ret) {
         int r;
 
         assert(context);
+        assert(ret);
 
         _cleanup_(table_unrefp) Table *table = table_new("family", "object", "fields", "value");
         if (!table)
@@ -391,6 +392,7 @@ static int output_collected_describe(Context *context, Table **ret) {
         int r;
 
         assert(context);
+        assert(ret);
 
         _cleanup_(table_unrefp) Table *table = table_new("family", "type", "description");
         if (!table)
@@ -442,6 +444,7 @@ static int facts_output_list(Context *context, Table **ret) {
         int r;
 
         assert(context);
+        assert(ret);
 
         _cleanup_(table_unrefp) Table *table = table_new("family", "object", "value");
         if (!table)
@@ -493,6 +496,7 @@ static int facts_output_describe(Context *context, Table **ret) {
         int r;
 
         assert(context);
+        assert(ret);
 
         _cleanup_(table_unrefp) Table *table = table_new("family", "description");
         if (!table)
index ff4df7b78ad408814eee1950fc61a2945d50ae99..1a634810beafec616416d58a8389d21d7594a4b3 100644 (file)
@@ -2057,6 +2057,8 @@ static int dnssec_test_positive_wildcard_nsec(
         bool authenticated = true;
         int r;
 
+        assert(_authenticated);
+
         /* Run a positive NSEC wildcard proof. Specifically:
          *
          * A proof that there's neither a wildcard name nor a non-wildcard name that is a suffix of the name "name" and
index 8ce9204e0c6e45f313e1db323442cdc92cfc2d6f..52da6068cd02325e35003d134a0b39a29a0bca12 100644 (file)
@@ -98,6 +98,8 @@ static int synthesize_localhost_rr(Manager *m, const DnsResourceKey *key, DnsAns
 static int answer_add_ptr(DnsAnswer **answer, const char *from, const char *to, int ifindex, DnsAnswerFlags flags) {
         _cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
 
+        assert(answer);
+
         rr = dns_resource_record_new_full(DNS_CLASS_IN, DNS_TYPE_PTR, from);
         if (!rr)
                 return -ENOMEM;
index a320825d0d5a3de7fb80483845d9f3fcc9a73c4f..a14aa0de7dbf609fc1cb66d92cdce516c340afcc 100644 (file)
@@ -3300,7 +3300,9 @@ static int dnssec_validate_records(
         DnsResourceRecord *rr;
         int r;
 
+        assert(have_nsec);
         assert(nvalidations);
+        assert(validated);
 
         /* Returns negative on error, 0 if validation failed, 1 to restart validation, 2 when finished. */
 
index d4d284d4f7a2ae0dcaafd60013ee2f666c1d669f..efcd91c0907d50844ca53367709a973dbf244b51 100644 (file)
@@ -50,6 +50,8 @@ DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(
 static int load_static_record_file_item(sd_json_variant *rj, Hashmap **records) {
         int r;
 
+        assert(records);
+
         _cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
         r = dns_resource_record_from_json(rj, &rr);
         if (r < 0)
index bb0100b04688d79e275b5427dd62cbb4108d80d7..2ac4ee9555d010d260000daa9a66f1c492dd66f2 100644 (file)
@@ -211,6 +211,9 @@ static int find_addr_records(
         DnsResourceRecord *rr;
         int ifindex, r;
 
+        assert(q);
+        POINTER_MAY_BE_NULL(canonical);
+
         DNS_ANSWER_FOREACH_IFINDEX(rr, ifindex, q->answer) {
                 _cleanup_(sd_json_variant_unrefp) sd_json_variant *entry = NULL;
                 int family;
index f486cf09a32adff2a1bf0705028b29d1e4cda5c0..8b4e376284c1624135ad8d7ab6f0db47e6b607a4 100644 (file)
@@ -18,6 +18,8 @@ static void prefix_random(const char *name, char **ret) {
         uint64_t i, u;
         char *m = NULL;
 
+        assert(ret);
+
         u = 1 + (random_u64() & 3);
 
         for (i = 0; i < u; i++) {
index 36eb2e7086e81f429411d32099d1440f4bcacbe9..9bd91f988d50b2cc0ec93fc29ab25e4b047e2a47 100644 (file)
@@ -1056,6 +1056,7 @@ static int pe_find_addon_sections(
 
         assert(fd >= 0);
         assert(path);
+        assert(ret_cmdline);
 
         r = pe_load_headers_and_sections(fd, path, &sections, &pe_header);
         if (r < 0)
index 55b0fc284de8fbea5ceee7475a317085d22c75af..3cef280dc50d781337c9c7a4261e44efdd4819bd 100644 (file)
@@ -152,6 +152,8 @@ int bpf_program_new(uint32_t prog_type, const char *prog_name, BPFProgram **ret)
         _cleanup_(bpf_program_freep) BPFProgram *p = NULL;
         _cleanup_free_ char *name = NULL;
 
+        assert(ret);
+
         if (prog_name) {
                 if (strlen(prog_name) >= BPF_OBJ_NAME_LEN)
                         return -ENAMETOOLONG;
index 1a6bc7370f81e061b929fa16e380823368219219..440c6ced290eaa3dc51cd8a4a01b04ebee5584fb 100644 (file)
@@ -1175,6 +1175,8 @@ static int bus_append_import_credential(sd_bus_message *m, const char *field, co
 static int bus_append_refresh_on_reload(sd_bus_message *m, const char *field, const char *eq) {
         int r;
 
+        assert(eq);
+
         r = sd_bus_message_open_container(m, 'r', "sv");
         if (r < 0)
                 return bus_log_create_error(r);
index 0f2d0c718c991606fada011d957f047935247c07..771363517b39e6f0739fe7f277b3b75c0662d94e 100644 (file)
@@ -1285,6 +1285,7 @@ static int find_next(const CalendarSpec *spec, struct tm *tm, usec_t *usec) {
 
         assert(spec);
         assert(tm);
+        assert(usec);
 
         c = *tm;
         tm_usec = *usec;
index cfc80d666f389b9dbd6e182b704cd79380192081..896dd5821917883999d3f7387800e1d36d4d7c05 100644 (file)
@@ -413,6 +413,8 @@ int show_cgroup_get_path_and_warn(
         _cleanup_free_ char *root = NULL;
         int r;
 
+        assert(ret);
+
         if (machine) {
                 _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
                 _cleanup_free_ char *unit = NULL;
index 690bb70ed54c979dd68595eb63dbb8f80b7641e4..b448032939d5359e75b435b14c72759862d126d4 100644 (file)
@@ -189,6 +189,9 @@ static int parse_line(
         assert(line > 0);
         assert(lookup);
         assert(l);
+        assert(section);
+        assert(section_line);
+        assert(section_ignored);
 
         l = strstrip(l);
         if (isempty(l))
index fc58b4af301150050a28370e9aa51960060575c2..3ff214a09a36145bc4aa3574b99b75278f74c286 100644 (file)
@@ -275,6 +275,8 @@ int read_credential_strings_many_internal(
         bool all = true;
         int r, ret = 0;
 
+        assert(first_value);
+
         /* Reads a bunch of credentials into the specified buffers. If the specified buffers are already
          * non-NULL frees them if a credential is found. Only supports string-based credentials
          * (i.e. refuses embedded NUL bytes).
@@ -338,6 +340,9 @@ int get_credential_user_password(const char *username, char **ret_password, bool
         _cleanup_free_ char *cn = NULL;
         int r;
 
+        assert(ret_password);
+        assert(ret_is_hashed);
+
         /* Try to pick up the password for this account via the credentials logic */
         cn = strjoin("passwd.hashed-password.", username);
         if (!cn)
index 2ffd1b63bb2d5aa90ef46e6c5f8501e74de48812..ba7910d864cc03febcdef927b3d28af9e2bfb972 100644 (file)
@@ -214,6 +214,8 @@ int cryptsetup_get_volume_key_prefix(
         const char *uuid;
         char *s;
 
+        assert(ret);
+
         uuid = sym_crypt_get_uuid(cd);
         if (!uuid)
                 return log_debug_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to get LUKS UUID.");
@@ -248,6 +250,8 @@ int cryptsetup_get_volume_key_id(
         char *hex;
         int r;
 
+        assert(ret);
+
         r = cryptsetup_get_volume_key_prefix(cd, volume_name, &prefix);
         if (r < 0)
                 return log_debug_errno(r, "Failed to get LUKS volume key prefix.");
index 9817ed87ec1290aef7843b3a61d2af0ad9496079..c032a571d6cc3be868d43c3e5cdf1a4993092b40 100644 (file)
@@ -942,6 +942,7 @@ static int dissect_image_from_unpartitioned(
         assert(devname);
         assert(m);
         assert(fstype);
+        POINTER_MAY_BE_NULL(mount_node_fd);
 
         if (!image_filter_test(filter, PARTITION_ROOT, /* label= */ NULL)) /* do a filter check with an empty partition label */
                 return -ECOMM;
index bfc6aef6f55a5705347de34f7159c42c3a92691a..24174d2bd2c07d39a462d269b0605b1018507cd1 100644 (file)
@@ -574,6 +574,8 @@ int dns_answer_remove_by_answer_keys(DnsAnswer **a, DnsAnswer *b) {
         DnsAnswerItem *item;
         int r;
 
+        assert(a);
+
         /* Removes all items from '*a' that have a matching key in 'b' */
 
         DNS_ANSWER_FOREACH_ITEM(item, b) {
index f8078c1211206c76de4882ed65bd621fa770993f..f250f40edff9f10cf6fc3c0e0f6d888a9d2f209a 100644 (file)
@@ -1519,6 +1519,7 @@ int dns_packet_read_string(DnsPacket *p, char **ret, size_t *start) {
         int r;
 
         assert(p);
+        assert(ret);
 
         r = dns_packet_read_uint8(p, &c, NULL);
         if (r < 0)
@@ -2448,6 +2449,8 @@ static int dns_packet_extract_question(DnsPacket *p, DnsQuestion **ret_question)
         unsigned n;
         int r;
 
+        assert(ret_question);
+
         n = DNS_PACKET_QDCOUNT(p);
         if (n > 0) {
                 question = dns_question_new(n);
@@ -2501,6 +2504,8 @@ static int dns_packet_extract_answer(DnsPacket *p, DnsAnswer **ret_answer) {
         bool bad_opt = false;
         int r;
 
+        assert(ret_answer);
+
         n = DNS_PACKET_RRCOUNT(p);
         if (n == 0)
                 return 0;
index e807cef3638df8bcb22be985b6570e333984a496..0ad01de88a684a2fff37c62af7c5960b44c7b63d 100644 (file)
@@ -2012,6 +2012,7 @@ int dns_resource_record_get_cname_target(DnsResourceKey *key, DnsResourceRecord
 
         assert(key);
         assert(cname);
+        assert(ret);
 
         /* Checks if the RR `cname` is a CNAME/DNAME RR that matches the specified `key`. If so, returns the
          * target domain. If not, returns -EUNATCH */
index f2361b3fd1d390484927744755f986456f00c554..1f99f46e8dfdd8686ec52a2943bad168cc6d619d 100644 (file)
@@ -140,6 +140,7 @@ int parse_env_extension_hierarchies(char ***ret_hierarchies, const char *hierarc
         _cleanup_free_ char **l = NULL;
         int r;
 
+        assert(ret_hierarchies);
         assert(hierarchy_env);
         r = getenv_path_list(hierarchy_env, &l);
         if (r == -ENXIO) {
index 06c74a4851a2cb0ffc48455284aa72268a1ca6d3..50e5147b1f9862cc851fbe0988501003d3523476 100644 (file)
@@ -14,6 +14,8 @@ int fido2_generate_salt(struct iovec *ret_salt) {
         _cleanup_(iovec_done) struct iovec salt = {};
         int r;
 
+        assert(ret_salt);
+
         r = crypto_random_bytes_allocate_iovec(FIDO2_SALT_SIZE, &salt);
         if (r < 0)
                 return log_error_errno(r, "Failed to generate FIDO2 salt: %m");
@@ -27,6 +29,8 @@ int fido2_read_salt_file(const char *filename, uint64_t offset, const char *clie
         _cleanup_free_ char *bind_name = NULL;
         int r;
 
+        assert(ret_salt);
+
         /* If we read the salt via AF_UNIX, make the client recognizable */
         if (asprintf(&bind_name, "@%" PRIx64"/%s-fido2-salt/%s", random_u64(), client, node) < 0)
                 return log_oom();
index 55579c2cf4553d6b409916d6d74dab639ba269aa..46c3f26a9b807af3a51f7c72b8b4aec1990fa859 100644 (file)
@@ -190,6 +190,8 @@ static int trie_insert(struct trie *trie, struct trie_node *node, const char *se
                        const char *filename, uint16_t file_priority, uint32_t line_number, bool compat) {
         int r = 0;
 
+        assert(node);
+
         for (size_t i = 0;; i++) {
                 size_t p;
                 char c;
index ccb73f061b53c78fdfce74b92dcee8abd71bf561..db93e90b27fa244cc1113c4f30bf9b7f7e704d73 100644 (file)
@@ -12,6 +12,8 @@ static int specifier_prefix_and_instance(char specifier, const void *data, const
         _cleanup_free_ char *prefix = NULL;
         int r;
 
+        assert(ret);
+
         r = unit_name_to_prefix_and_instance(i->name, &prefix);
         if (r < 0)
                 return r;
index 149faed711a70d2ffc28fd802da5c72438042a88..d01906c205d9d70bceee8cf9d37ab9796b742c47 100644 (file)
@@ -1861,6 +1861,8 @@ int unit_file_verify_alias(
         _cleanup_free_ char *dst_updated = NULL;
         int r;
 
+        assert(ret_dst);
+
         /* Verify that dst is a valid either a valid alias or a valid .wants/.requires symlink for the target
          * unit *i. Return negative on error or if not compatible, zero on success.
          *
@@ -2903,6 +2905,9 @@ static int do_unit_file_disable(
         bool has_install_info = false;
         int r;
 
+        assert(changes);
+        assert(n_changes);
+
         STRV_FOREACH(name, names) {
                 InstallInfo *info;
 
index 6224ad4b1d2c6a868616460e21275f0e6ad1b544..18d020d34c2253e208412818ee0d3fc767a1eb7e 100644 (file)
@@ -1153,6 +1153,12 @@ static int check_device_is_fido2_with_hmac_secret(
         _cleanup_(fido_dev_free_wrapper) fido_dev_t *d = NULL;
         int r;
 
+        assert(ret_has_rk);
+        assert(ret_has_client_pin);
+        assert(ret_has_up);
+        assert(ret_has_uv);
+        assert(ret_has_always_uv);
+
         d = sym_fido_dev_new();
         if (!d)
                 return log_oom();
index be4dd0712ee4cf174a57493a6bc385858b57f904..0d63675667aea2f03007aff95354c624ded9f96d 100644 (file)
@@ -100,6 +100,8 @@ int libmount_parse_full(
         /* Older libmount seems to require this. */
         assert(!source || path);
         assert(IN_SET(direction, MNT_ITER_FORWARD, MNT_ITER_BACKWARD));
+        assert(ret_table);
+        assert(ret_iter);
 
         r = dlopen_libmount();
         if (r < 0)
index 278f7c99d0ccc9eb48bdc5a533fa47c3c8749074..f65f32ca1948b01a1ab85384233a7046cc2625f7 100644 (file)
@@ -107,6 +107,8 @@ static int convert_user(
         assert(u);
         assert(g);
         assert(user_record_gid(u) == g->gid);
+        assert(ret_converted_user);
+        assert(ret_converted_group);
 
         if (shell_copy)
                 shell = u->shell;
index b3e575efd37fd1f5ece06c99269453616e8ac603..e45a106ed5e035a5c55591e0d29fac5b4c12e18d 100644 (file)
@@ -74,11 +74,12 @@ static int mangle_linux_fs_label(const char *s, size_t max_len, char **ret) {
 }
 
 static int mangle_fat_label(const char *s, char **ret) {
-        assert(s);
-
         _cleanup_free_ char *q = NULL;
         int r;
 
+        assert(s);
+        assert(ret);
+
         r = utf8_to_ascii(s, '_', &q);
         if (r < 0)
                 return r;
index b512fcef949f5c39e094b4adc8fd22b54d14489d..18c6b06b17dc1eb37e2b7376dc2842340c2de7f8 100644 (file)
@@ -487,6 +487,9 @@ int rsa_encrypt_bytes(
         _cleanup_free_ void *b = NULL;
         size_t l;
 
+        assert(ret_encrypt_key);
+        assert(ret_encrypt_key_size);
+
         ctx = EVP_PKEY_CTX_new(pkey, NULL);
         if (!ctx)
                 return log_openssl_errors("Failed to allocate public key context");
@@ -1097,6 +1100,11 @@ static int ecc_pkey_generate_volume_keys(
                 void **ret_saved_key,
                 size_t *ret_saved_key_size) {
 
+        assert(ret_decrypted_key);
+        assert(ret_decrypted_key_size);
+        assert(ret_saved_key);
+        assert(ret_saved_key_size);
+
         _cleanup_(EVP_PKEY_freep) EVP_PKEY *pkey_new = NULL;
         _cleanup_(erase_and_freep) void *decrypted_key = NULL;
         _cleanup_free_ unsigned char *saved_key = NULL;
@@ -1150,6 +1158,11 @@ static int rsa_pkey_generate_volume_keys(
         size_t decrypted_key_size, saved_key_size;
         int r;
 
+        assert(ret_decrypted_key);
+        assert(ret_decrypted_key_size);
+        assert(ret_saved_key);
+        assert(ret_saved_key_size);
+
         r = rsa_pkey_to_suitable_key_size(pkey, &decrypted_key_size);
         if (r < 0)
                 return log_debug_errno(r, "Failed to determine RSA public key size.");
@@ -1345,6 +1358,7 @@ static int openssl_load_private_key_from_file(const char *path, EVP_PKEY **ret)
 }
 
 static int openssl_ask_password_ui_new(const AskPasswordRequest *request, OpenSSLAskPasswordUI **ret) {
+        assert(request);
         assert(ret);
 
 #ifndef OPENSSL_NO_UI_CONSOLE
index 7af436217d5eb8cc7813bd126e672c2984813ca6..6598bf82142c020a6356ce69599a7fcefd3108ab 100644 (file)
@@ -197,6 +197,7 @@ int pcrextend_verity_word(
 
         assert(name);
         assert(iovec_is_set(root_hash));
+        assert(ret);
 
         _cleanup_free_ char *name_escaped = xescape(name, ":"); /* Avoid ambiguity around ":" */
         if (!name_escaped)
index 7cc79fa09ae38151dcc4980448837857816819a9..165fefbea1ff848593747dec0351865c2c128ec9 100644 (file)
@@ -403,6 +403,8 @@ static int read_public_key_info(
                 CK_OBJECT_HANDLE object,
                 EVP_PKEY **ret_pkey) {
 
+        assert(ret_pkey);
+
         CK_ATTRIBUTE attribute = { CKA_PUBLIC_KEY_INFO, NULL_PTR, 0 };
         _cleanup_(EVP_PKEY_freep) EVP_PKEY *pkey = NULL;
         CK_RV rv;
@@ -445,6 +447,8 @@ int pkcs11_token_read_public_key(
         CK_RV rv;
         int r;
 
+        assert(ret_pkey);
+
         r = read_public_key_info(m, session, object, &pkey);
         if (r >= 0) {
                 *ret_pkey = TAKE_PTR(pkey);
@@ -668,6 +672,8 @@ int pkcs11_token_read_x509_certificate(
         X509_NAME *name = NULL;
         int r;
 
+        assert(ret_cert);
+
         r = dlopen_p11kit();
         if (r < 0)
                 return r;
@@ -951,6 +957,9 @@ static int ecc_convert_to_compressed(
         CK_RV rv;
         int r;
 
+        assert(ret_compressed_point);
+        assert(ret_compressed_point_size);
+
         rv = m->C_GetAttributeValue(session, object, &ec_params_attr, 1);
         if (!IN_SET(rv, CKR_OK, CKR_ATTRIBUTE_TYPE_INVALID))
                 return log_error_errno(SYNTHETIC_ERRNO(EIO),
@@ -1157,6 +1166,9 @@ static int pkcs11_token_decrypt_data_rsa(
         CK_ULONG dbuffer_size = 0;
         CK_RV rv;
 
+        assert(ret_decrypted_data);
+        assert(ret_decrypted_data_size);
+
         rv = m->C_DecryptInit(session, (CK_MECHANISM*) &mechanism, object);
         if (rv != CKR_OK)
                 return log_error_errno(SYNTHETIC_ERRNO(EIO),
index 76330cbb65d164651a48dc0e3a77d602fbfc5cc0..7a4bc10eebf2a20a87640f55a98f5f600bea47af 100644 (file)
@@ -127,6 +127,8 @@ int file_url_from_path(const char *path, char **ret) {
         char *url = NULL;
         int r;
 
+        assert(ret);
+
         if (uname(&u) < 0)
                 return -errno;
 
@@ -389,6 +391,12 @@ static int guess_type(const char **name, char ***ret_prefixes, bool *ret_is_coll
         _cleanup_free_ char *n = NULL;
         bool run = false, coll = false;
         const char *ext = ".conf";
+
+        assert(name);
+        assert(ret_prefixes);
+        assert(ret_is_collection);
+        assert(ret_extension);
+
         /* This is static so that the array doesn't get deallocated when we exit the function */
         static const char* const std_prefixes[] = { CONF_PATHS(""), NULL };
         static const char* const run_prefixes[] = { "/run/", NULL };
index 9785fc45d78f393607ad18367f4fba964247ca26..49328ccde2e4c7cbd2653c8977657847ae39d5dd 100644 (file)
@@ -278,6 +278,8 @@ int seccomp_init_for_arch(scmp_filter_ctx *ret, uint32_t arch, uint32_t default_
         _cleanup_(seccomp_releasep) scmp_filter_ctx seccomp = NULL;
         int r;
 
+        assert(ret);
+
         /* Much like seccomp_init(), but initializes the filter for one specific architecture only, without affecting
          * any others. Also, turns off the NNP fiddling. */
 
index 93fd886d7bab1c95a72d246f52fed07b3a607886..6e73bef78f1baf27994c66bfde0300cb499a522a 100644 (file)
@@ -23,6 +23,8 @@ int create_ephemeral_snapshot(
         _cleanup_free_ char *np = NULL;
         int r;
 
+        assert(ret_new_path);
+
         /* If the specified path is a mount point we generate the new snapshot immediately
          * inside it under a random name. However if the specified is not a mount point we
          * create the new snapshot in the parent directory, just next to it. */
index 1d369353b976b0603222fc55715dc8e4d17e154d..2ded2c0c0fa0a04bdf655a530291dec7d432dbb1 100644 (file)
@@ -372,6 +372,7 @@ int in_addr_full_new(
         _cleanup_free_ char *name = NULL;
         struct in_addr_full *x;
 
+        assert(a);
         assert(ret);
 
         if (!isempty(server_name)) {
index 823fb9ac2b951a53890137b1f5e4fa8200401aaa..3f7dc88a6a9af8dab9b7eb884ba900ecf9339733 100644 (file)
@@ -660,6 +660,8 @@ static int archive_entry_read_stat(
         int r;
 
         assert(entry);
+        assert(xa);
+        assert(n_xa);
 
         /* Fills in all fields that are present in the archive entry. Doesn't change the fields if the entry
          * doesn't contain the relevant data */
@@ -1160,6 +1162,7 @@ static int hardlink_lookup(
         assert(d);
         assert(inode_fd >= 0);
         assert(sx);
+        assert(ret);
 
         /* If we know the hardlink count, and it's 1, then don't bother */
         if (FLAGS_SET(sx->stx_mask, STATX_NLINK) && sx->stx_nlink == 1)
index 077233a317822fdee1271a454d00ea497347c22b..5e5ed1f620b392983c659310d2c4b0fb2c3258ba 100644 (file)
@@ -6412,6 +6412,7 @@ int tpm2_seal_data(
         assert(c);
         assert(data);
         assert(primary_handle);
+        POINTER_MAY_BE_NULL(policy);
 
         /* This is a generic version of tpm2_seal(), that doesn't imply any policy or any specific
          * combination of the two keypairs in their marshalling. tpm2_seal() is somewhat specific to the FDE
@@ -6477,6 +6478,7 @@ int tpm2_unseal_data(
         assert(public_blob);
         assert(private_blob);
         assert(primary_handle);
+        assert(ret_data);
 
         TPM2B_PUBLIC public;
         r = tpm2_unmarshal_public(public_blob->iov_base, public_blob->iov_len, &public);
@@ -8320,6 +8322,8 @@ int tpm2_pcrlock_policy_load(
         _cleanup_fclose_ FILE *f = NULL;
         int r;
 
+        assert(ret_policy);
+
         r = tpm2_pcrlock_search_file(path, &f, &discovered_path);
         if (r == -ENOENT) {
                 *ret_policy = (Tpm2PCRLockPolicy) {};
index f056b679a9ce487b84b168e83d259ffd95f27960..f0babafa5e24f96586119a6dfd311949c7a9ac46 100644 (file)
@@ -752,6 +752,8 @@ int unit_file_find_fragment(
         _cleanup_set_free_ Set *names = NULL;
         int r;
 
+        assert(ret_fragment_path);
+
         /* Finds a fragment path, and returns the set of names:
          * if we have …/foo.service and …/foo-alias.service→foo.service,
          * and …/foo@.service and …/foo-alias@.service→foo@.service,
index eaf53ac4ad18aeae2ad834df996a0894fd37306f..de498b7b885c2d6ad5fabbad06a57f1c7e5530d9 100644 (file)
@@ -9,6 +9,8 @@ int query_volatile_mode(VolatileMode *ret) {
         _cleanup_free_ char *mode = NULL;
         int r;
 
+        assert(ret);
+
         r = proc_cmdline_get_key("systemd.volatile", PROC_CMDLINE_VALUE_OPTIONAL, &mode);
         if (r < 0)
                 return r;
index 5b113013950f794e6b23fc6512dacdd236c3eac6..e74b4af9b222a108e8790c8d12c4bb5809da596f 100644 (file)
@@ -75,6 +75,8 @@ static int watchdog_get_pretimeout_governor(char **ret_gov) {
         _cleanup_free_ char *sys_fn = NULL;
         int r;
 
+        assert(ret_gov);
+
         r = watchdog_get_sysfs_path("pretimeout_governor", &sys_fn);
         if (r < 0)
                 return r;
index 845ed748c23cb2e14f096a7f2164325d6702e986..e181af4a97aff3b566e8c61522dd78aaf808ceb2 100644 (file)
@@ -44,6 +44,8 @@ static int service_name_to_dbus(sd_bus *bus, const char *name, char **ret_dbus_n
         _cleanup_free_ char *bus_name = NULL;
         int r;
 
+        assert(ret_dbus_name);
+
         /* First, look for the BusName= property */
         _cleanup_free_ char *dbus_path = unit_dbus_path_from_name(name);
         if (!dbus_path)
index 94a69850af57cc114f25df1d0899ebe3489ab25f..62fd7470cfe78fd3cde5ecf9efff90b2b9c82922 100644 (file)
@@ -158,6 +158,7 @@ int find_suitable_partition(
         int r;
 
         assert(device);
+        POINTER_MAY_BE_NULL(partition_type);
         assert(ret);
 
         r = fdisk_new_context_at(AT_FDCWD, device, /* read_only= */ true, /* sector_size= */ UINT32_MAX, &c);
index ba1842b2d6c8e2bb4dea70638d2b5fae8a032c9c..b819fcd5b8586871c71bb179785ef92f882ff588 100644 (file)
@@ -477,6 +477,7 @@ static int resource_load_from_web(
         int r;
 
         assert(rr);
+        POINTER_MAY_BE_NULL(web_cache);
 
         ci = web_cache ? web_cache_get_item(*web_cache, rr->path, verify) : NULL;
         if (ci) {
index 35c0e05083bdf6623b79da3d92e19ab9fb7ce203..3ed7a2ae3a48822d6a036608ef985d042d787cb6 100644 (file)
@@ -1009,6 +1009,7 @@ static int callout_context_new(const Transfer *t, const Instance *i, TransferPro
         assert(t);
         assert(i);
         assert(cb);
+        assert(ret);
 
         ctx = new(CalloutContext, 1);
         if (!ctx)
index 015043a0a4dcda67b20a6ae4211b812fb6b47e11..1f79e2face5e41f05b5c3ee262f96ec3c8c77969 100644 (file)
@@ -480,6 +480,8 @@ static int write_temporary_passwd(
         int r;
 
         assert(c);
+        assert(ret_tmpfile);
+        assert(ret_tmpfile_path);
 
         if (ordered_hashmap_isempty(c->todo_uids))
                 goto done;
@@ -611,6 +613,8 @@ static int write_temporary_shadow(
         int r;
 
         assert(c);
+        assert(ret_tmpfile);
+        assert(ret_tmpfile_path);
 
         if (ordered_hashmap_isempty(c->todo_uids))
                 goto done;
@@ -746,6 +750,8 @@ static int write_temporary_group(
         int r;
 
         assert(c);
+        assert(ret_tmpfile);
+        assert(ret_tmpfile_path);
 
         if (ordered_hashmap_isempty(c->todo_gids) && ordered_hashmap_isempty(c->members))
                 goto done;
@@ -863,6 +869,8 @@ static int write_temporary_gshadow(
         int r;
 
         assert(c);
+        assert(ret_tmpfile);
+        assert(ret_tmpfile_path);
 
         if (ordered_hashmap_isempty(c->todo_gids) && ordered_hashmap_isempty(c->members))
                 goto done;
index 2334e258cb404dd7a97f03126ac2ffd76bd0ff32..75e9085c26bf0f525448baa79b6e4e383c6d849e 100644 (file)
@@ -44,6 +44,8 @@ static int populate_uid_cache(const char *root, Hashmap **ret) {
         _cleanup_hashmap_free_ Hashmap *cache = NULL;
         int r;
 
+        assert(ret);
+
         cache = hashmap_new(&uid_gid_hash_ops);
         if (!cache)
                 return -ENOMEM;
@@ -85,6 +87,8 @@ static int populate_gid_cache(const char *root, Hashmap **ret) {
         _cleanup_hashmap_free_ Hashmap *cache = NULL;
         int r;
 
+        assert(ret);
+
         cache = hashmap_new(&uid_gid_hash_ops);
         if (!cache)
                 return -ENOMEM;
index 5d0859a2f21378f7e244ad9dc0a7d06cf11b427a..7e41f6929924a1d103b17ac3e3ab3f46992f8986 100644 (file)
@@ -289,6 +289,7 @@ static int specifier_directory(
         unsigned i;
         int r;
 
+        assert(ret);
         assert_cc(ELEMENTSOF(paths_system) == ELEMENTSOF(paths_user));
         paths = arg_runtime_scope == RUNTIME_SCOPE_USER ? paths_user : paths_system;
 
index 9522420d86645622157ea49faa5f2d64481d0839..4ea6517157eecd1d9c8aaa4ed95aa4135786204b 100644 (file)
@@ -32,6 +32,8 @@ static int load_boot_secret(struct iovec *ret) {
         _cleanup_(iovec_done_erase) struct iovec buf = {};
         int r;
 
+        assert(ret);
+
         const char *bs = in_initrd() ? "/.extra/boot-secret" : "/run/systemd/stub/boot-secret";
         r = read_full_file_full(
                         AT_FDCWD,
index b7ec2ba1ef281f7f2822580d15db6ca1fd3aeccd..6f33cc3710ccab2dee95a165432caa893f99f2ca 100644 (file)
@@ -65,6 +65,8 @@ static int setup_monitor(MonitorNetlinkGroup sender, sd_event *event, sd_device_
         const char *subsystem, *devtype, *tag;
         int r;
 
+        assert(ret);
+
         r = device_monitor_new_full(&monitor, sender, -EBADF);
         if (r < 0)
                 return log_error_errno(r, "Failed to create netlink socket: %m");
index 8803f3090f963ba3fa72a35031f887f24d087852..cf9f2f5c6b8c3dd2c48e1a96fb174952e4eacbc2 100644 (file)
@@ -79,6 +79,8 @@ int manager_new(Manager **ret) {
         _cleanup_(manager_freep) Manager *m = NULL;
         int r;
 
+        assert(ret);
+
         m = new(Manager, 1);
         if (!m)
                 return -ENOMEM;
index ad77e476c83e4c53c0cd83bf6b7a89c0b84c9dd0..c3ba389dcf4d1eadddc6f81c6c8361d13260f7a2 100644 (file)
@@ -190,6 +190,9 @@ static int strv_strndup_unescape_and_push(
                 const char *start,
                 const char *end) {
 
+        assert(sv);
+        assert(n);
+
         if (end == start)
                 return 0;