Fixed findings

List of Findings

Error: COMPILER_WARNING: [#def1] [important]
systemd-259.5/src/basic/cgroup-util.c:88:29: error[error]: ‘FILEID_KERNFS’ undeclared (first use in this function)
#   86|           }
#   87|   
#   88|->         cg_file_handle fh = CG_FILE_HANDLE_INIT;
#   89|           unaligned_write_ne64(fh.file_handle.f_handle, id);
#   90|   

Error: COMPILER_WARNING: [#def2] [important]
systemd-259.5/src/basic/cgroup-util.c:116:29: error[error]: ‘FILEID_KERNFS’ undeclared (first use in this function)
#  114|   
#  115|   int cg_get_cgroupid_at(int dfd, const char *path, uint64_t *ret) {
#  116|->         cg_file_handle fh = CG_FILE_HANDLE_INIT;
#  117|           int mnt_id;
#  118|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
systemd-259.5/src/basic/chase.c:601:1: warning[-Wanalyzer-malloc-leak]: leak of ‘done’
systemd-259.5/src/basic/chase.c:1190:5: enter_function: entry to ‘chase_and_open_parent_at’
systemd-259.5/src/basic/chase.c:1193:9: branch_false: following ‘false’ branch...
systemd-259.5/src/basic/chase.c:1195:35: branch_false: ...to here
systemd-259.5/src/basic/chase.c:1195:13: call_function: calling ‘chaseat’ from ‘chase_and_open_parent_at’
#  599|   
#  600|           return 0;
#  601|-> }
#  602|   
#  603|   int chase(const char *path, const char *root, ChaseFlags flags, char **ret_path, int *ret_fd) {

Error: GCC_ANALYZER_WARNING (CWE-457): [#def4]
systemd-259.5/src/basic/mountpoint-util.c:587:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘mount_id’
systemd-259.5/src/basic/mountpoint-util.c:559:5: enter_function: entry to ‘dev_is_devtmpfs’
systemd-259.5/src/basic/mountpoint-util.c:564:13: call_function: inlined call to ‘path_get_mnt_id’ from ‘dev_is_devtmpfs’
systemd-259.5/src/basic/mountpoint-util.c:564:13: call_function: inlined call to ‘path_get_mnt_id’ from ‘dev_is_devtmpfs’
systemd-259.5/src/basic/mountpoint-util.c:565:12: branch_false: following ‘false’ branch...
systemd-259.5/src/basic/mountpoint-util.c:568:13: branch_false: ...to here
systemd-259.5/src/basic/mountpoint-util.c:569:12: branch_false: following ‘false’ branch...
systemd-259.5/src/basic/mountpoint-util.c:571:12: branch_false: ...to here
systemd-259.5/src/basic/mountpoint-util.c:571:12: branch_false: following ‘false’ branch...
systemd-259.5/src/basic/mountpoint-util.c:571:12: branch_false: ...to here
systemd-259.5/src/basic/mountpoint-util.c:579:20: branch_false: following ‘false’ branch...
systemd-259.5/src/basic/mountpoint-util.c:581:20: branch_false: ...to here
systemd-259.5/src/basic/mountpoint-util.c:581:20: branch_false: following ‘false’ branch...
systemd-259.5/src/basic/mountpoint-util.c:584:21: branch_false: ...to here
systemd-259.5/src/basic/mountpoint-util.c:587:21: danger: use of uninitialized value ‘mount_id’ here
#  585|                           continue;
#  586|   
#  587|->                 if (mid != mount_id)
#  588|                           continue;
#  589|   

Error: COMPILER_WARNING: [#def5] [important]
systemd-259.5/src/basic/pidfd-util.c:245:52: error[error]: ‘FILEID_KERNFS’ undeclared (first use in this function)
#  243|                   } fh = {
#  244|                           .file_handle.handle_bytes = sizeof(uint64_t),
#  245|->                         .file_handle.handle_type = FILEID_KERNFS,
#  246|                   };
#  247|                   int mnt_id;

Error: COMPILER_WARNING: [#def6] [important]
systemd-259.5/src/basic/socket-util.c:993:27: error[error]: ‘SCM_MAX_FD’ undeclared (first use in this function)
#  991|   
#  992|           /* The kernel will reject sending more than SCM_MAX_FD FDs at once */
#  993|->         if (n_fds_array > SCM_MAX_FD)
#  994|                   return -E2BIG;
#  995|   

Error: COMPILER_WARNING: [#def7] [important]
systemd-259.5/src/basic/socket-util.c:1081:9: error[error]: ‘SCM_MAX_FD’ undeclared (first use in this function)
# 1079|                   int flags) {
# 1080|   
# 1081|->         CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(int) * SCM_MAX_FD)) control;
# 1082|           struct msghdr mh = {
# 1083|                   .msg_control = &control,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
systemd-259.5/src/home/pam_systemd_home.c:1013:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘ur’
/usr/include/security/pam_modules.h:40:5: enter_function: entry to ‘pam_sm_acct_mgmt’
systemd-259.5/src/home/pam_systemd_home.c:974:51: release_memory: ‘ur’ is NULL
systemd-259.5/src/home/pam_systemd_home.c:981:12: branch_false: following ‘false’ branch...
systemd-259.5/src/home/pam_systemd_home.c:984:9: branch_false: ...to here
systemd-259.5/src/home/pam_systemd_home.c:989:13: call_function: calling ‘parse_argv’ from ‘pam_sm_acct_mgmt’
systemd-259.5/src/home/pam_systemd_home.c:989:13: return_function: returning to ‘pam_sm_acct_mgmt’ from ‘parse_argv’
systemd-259.5/src/home/pam_systemd_home.c:997:13: call_function: calling ‘fallback_shell_can_work’ from ‘pam_sm_acct_mgmt’
systemd-259.5/src/home/pam_systemd_home.c:997:13: return_function: returning to ‘pam_sm_acct_mgmt’ from ‘fallback_shell_can_work’
systemd-259.5/src/home/pam_systemd_home.c:998:12: branch_false: following ‘false’ branch...
systemd-259.5/src/home/pam_systemd_home.c:1001:13: branch_false: ...to here
systemd-259.5/src/home/pam_systemd_home.c:1001:13: call_function: calling ‘acquire_home’ from ‘pam_sm_acct_mgmt’
systemd-259.5/src/home/pam_systemd_home.c:1001:13: return_function: returning to ‘pam_sm_acct_mgmt’ from ‘acquire_home’
systemd-259.5/src/home/pam_systemd_home.c:1002:12: branch_false: following ‘false’ branch...
systemd-259.5/src/home/pam_systemd_home.c:1005:13: branch_false: ...to here
systemd-259.5/src/home/pam_systemd_home.c:1005:13: call_function: calling ‘acquire_user_record’ from ‘pam_sm_acct_mgmt’
systemd-259.5/src/home/pam_systemd_home.c:1005:13: return_function: returning to ‘pam_sm_acct_mgmt’ from ‘acquire_user_record’
systemd-259.5/src/home/pam_systemd_home.c:1006:12: branch_false: following ‘false’ branch...
systemd-259.5/src/home/pam_systemd_home.c:1009:13: branch_false: ...to here
systemd-259.5/src/home/pam_systemd_home.c:1009:13: release_memory: ‘ur’ is NULL
systemd-259.5/src/home/pam_systemd_home.c:1013:17: danger: dereference of NULL ‘ur’
# 1011|   
# 1012|           case -ESTALE:
# 1013|->                 pam_syslog(handle, LOG_WARNING, "User record for '%s' is newer than current system time, assuming incorrect system clock, allowing access.", ur->user_name);
# 1014|                   break;
# 1015|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def9]
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:1426:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*client.event’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:48:5: enter_function: entry to ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:58:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:60:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:62:13: call_function: calling ‘sd_dhcp_client_new’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:62:13: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_new’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:63:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:64:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:64:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:66:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:66:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:68:13: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:68:13: call_function: calling ‘sd_dhcp_client_attach_event’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:68:13: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_attach_event’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:69:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: call_function: calling ‘sd_dhcp_client_set_ifindex’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_set_ifindex’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: call_function: calling ‘sd_dhcp_client_set_mac’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_set_mac’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:74:15: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:74:15: call_function: calling ‘sd_dhcp_client_start’ from ‘LLVMFuzzerTestOneInput’
# 1424|   
# 1425|           assert(client);
# 1426|->         assert(client->event);
# 1427|   
# 1428|           (void) event_source_disable(client->timeout_ipv6_only_mode);

Error: GCC_ANALYZER_WARNING (CWE-416): [#def10]
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2056:31: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘client’
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2388:5: enter_function: entry to ‘sd_dhcp_client_send_decline’
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2393:14: call_function: inlined call to ‘sd_dhcp_client_is_running’ from ‘sd_dhcp_client_send_decline’
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2393:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2396:13: call_function: calling ‘client_message_init’ from ‘sd_dhcp_client_send_decline’
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2396:13: return_function: returning to ‘sd_dhcp_client_send_decline’ from ‘client_message_init’
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2397:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2400:32: branch_false: ...to here
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2405:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2408:13: branch_false: ...to here
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2413:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2416:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2420:13: call_function: calling ‘client_restart’ from ‘sd_dhcp_client_send_decline’
# 2054|           log_dhcp_client(client, "REBOOT in %s", FORMAT_TIMESPAN(client->start_delay, USEC_PER_SEC));
# 2055|   
# 2056|->         client->start_delay = CLAMP(client->start_delay * 2,
# 2057|                                       RESTART_AFTER_NAK_MIN_USEC, RESTART_AFTER_NAK_MAX_USEC);
# 2058|           return 0;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def11]
systemd-259.5/src/libsystemd-network/sd-dhcp-client.c:2533:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*p.n_ref’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:48:5: enter_function: entry to ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:58:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:60:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:62:13: call_function: calling ‘sd_dhcp_client_new’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:62:13: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_new’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:63:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:64:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:64:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:66:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:66:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:68:13: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:68:13: call_function: calling ‘sd_dhcp_client_attach_event’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:68:13: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_attach_event’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:69:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: call_function: calling ‘sd_dhcp_client_set_ifindex’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_set_ifindex’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:71:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: call_function: calling ‘sd_dhcp_client_set_mac’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_set_mac’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:72:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:74:15: branch_false: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:74:15: call_function: calling ‘sd_dhcp_client_start’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:74:15: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘sd_dhcp_client_start’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:79:13: call_function: calling ‘client_handle_offer_or_rapid_ack’ from ‘LLVMFuzzerTestOneInput’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:79:13: return_function: returning to ‘LLVMFuzzerTestOneInput’ from ‘client_handle_offer_or_rapid_ack’
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:79:12: branch_true: following ‘true’ branch...
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:80:17: branch_true: ...to here
systemd-259.5/src/libsystemd-network/fuzz-dhcp-client.c:92:9: call_function: calling ‘sd_dhcp_client_stop’ from ‘LLVMFuzzerTestOneInput’
# 2531|   }
# 2532|   
# 2533|-> DEFINE_TRIVIAL_REF_UNREF_FUNC(sd_dhcp_client, sd_dhcp_client, dhcp_client_free);
# 2534|   
# 2535|   int sd_dhcp_client_new(sd_dhcp_client **ret, int anonymize) {

Error: GCC_ANALYZER_WARNING (CWE-457): [#def12]
systemd-259.5/src/libsystemd/sd-json/json-util.c:129:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘n’
systemd-259.5/src/libsystemd/sd-json/json-util.c:120:5: enter_function: entry to ‘json_dispatch_user_group_name’
systemd-259.5/src/libsystemd/sd-json/json-util.c:121:20: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:122:21: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:125:13: call_function: calling ‘json_dispatch_const_user_group_name’ from ‘json_dispatch_user_group_name’
systemd-259.5/src/libsystemd/sd-json/json-util.c:125:13: return_function: returning to ‘json_dispatch_user_group_name’ from ‘json_dispatch_const_user_group_name’
systemd-259.5/src/libsystemd/sd-json/json-util.c:126:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:129:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:129:13: danger: use of uninitialized value ‘n’ here
#  127|                   return r;
#  128|   
#  129|->         r = free_and_strdup(s, n);
#  130|           if (r < 0)
#  131|                   return json_log(variant, flags, r, "Failed to allocate string: %m");

Error: GCC_ANALYZER_WARNING (CWE-457): [#def13]
systemd-259.5/src/libsystemd/sd-json/json-util.c:237:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘path’
systemd-259.5/src/libsystemd/sd-json/json-util.c:226:5: enter_function: entry to ‘json_dispatch_path’
systemd-259.5/src/libsystemd/sd-json/json-util.c:227:20: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:228:21: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:231:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:233:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:233:13: call_function: calling ‘json_dispatch_const_path’ from ‘json_dispatch_path’
systemd-259.5/src/libsystemd/sd-json/json-util.c:233:13: return_function: returning to ‘json_dispatch_path’ from ‘json_dispatch_const_path’
systemd-259.5/src/libsystemd/sd-json/json-util.c:234:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:237:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:237:13: danger: use of uninitialized value ‘path’ here
#  235|                   return r;
#  236|   
#  237|->         if (free_and_strdup(p, path) < 0)
#  238|                   return json_log_oom(variant, flags);
#  239|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def14]
systemd-259.5/src/libsystemd/sd-json/json-util.c:265:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘a’
systemd-259.5/src/libsystemd/sd-json/json-util.c:243:5: enter_function: entry to ‘json_dispatch_strv_path’
systemd-259.5/src/libsystemd/sd-json/json-util.c:245:21: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:248:9: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:248:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:250:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:250:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:255:14: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:255:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:255:12: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:259:9: branch_true: following ‘true’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:261:21: call_function: calling ‘json_dispatch_const_path’ from ‘json_dispatch_strv_path’
systemd-259.5/src/libsystemd/sd-json/json-util.c:261:21: return_function: returning to ‘json_dispatch_strv_path’ from ‘json_dispatch_const_path’
systemd-259.5/src/libsystemd/sd-json/json-util.c:262:20: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:265:21: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:265:21: danger: use of uninitialized value ‘a’ here
#  263|                           return r;
#  264|   
#  265|->                 r = strv_extend(&n, a);
#  266|                   if (r < 0)
#  267|                           return json_log_oom(variant, flags);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def15]
systemd-259.5/src/libsystemd/sd-json/json-util.c:303:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘filename’
systemd-259.5/src/libsystemd/sd-json/json-util.c:292:5: enter_function: entry to ‘json_dispatch_filename’
systemd-259.5/src/libsystemd/sd-json/json-util.c:293:20: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:294:21: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:297:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:299:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:299:13: call_function: calling ‘json_dispatch_const_filename’ from ‘json_dispatch_filename’
systemd-259.5/src/libsystemd/sd-json/json-util.c:299:13: return_function: returning to ‘json_dispatch_filename’ from ‘json_dispatch_const_filename’
systemd-259.5/src/libsystemd/sd-json/json-util.c:300:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:303:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:303:13: danger: use of uninitialized value ‘filename’ here
#  301|                   return r;
#  302|   
#  303|->         if (free_and_strdup(n, filename) < 0)
#  304|                   return json_log_oom(variant, flags);
#  305|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def16]
systemd-259.5/src/libsystemd/sd-json/json-util.c:341:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘version’
systemd-259.5/src/libsystemd/sd-json/json-util.c:330:5: enter_function: entry to ‘json_dispatch_version’
systemd-259.5/src/libsystemd/sd-json/json-util.c:331:20: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:332:21: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:335:9: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:337:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:337:13: call_function: calling ‘json_dispatch_const_version’ from ‘json_dispatch_version’
systemd-259.5/src/libsystemd/sd-json/json-util.c:337:13: return_function: returning to ‘json_dispatch_version’ from ‘json_dispatch_const_version’
systemd-259.5/src/libsystemd/sd-json/json-util.c:338:12: branch_false: following ‘false’ branch...
systemd-259.5/src/libsystemd/sd-json/json-util.c:341:13: branch_false: ...to here
systemd-259.5/src/libsystemd/sd-json/json-util.c:341:13: danger: use of uninitialized value ‘version’ here
#  339|                   return r;
#  340|   
#  341|->         if (free_and_strdup(n, version) < 0)
#  342|                   return json_log_oom(variant, flags);
#  343|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def17]
systemd-259.5/src/portable/portable.c:683:21: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘os_release’
systemd-259.5/src/portable/portable.c:1632:5: enter_function: entry to ‘portable_attach’
systemd-259.5/src/portable/portable.c:1646:63: release_memory: ‘os_release’ is NULL
systemd-259.5/src/portable/portable.c:1654:9: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1662:62: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1656:13: call_function: calling ‘extract_image_and_extensions’ from ‘portable_attach’
#  681|                   _cleanup_free_ char *prefixes = NULL;
#  682|   
#  683|->                 r = parse_env_file_fd(os_release->fd, os_release->name,
#  684|                                        "ID", &id,
#  685|                                        "ID_LIKE", &id_like,

Error: GCC_ANALYZER_WARNING (CWE-121): [#def18]
systemd-259.5/src/portable/portable.c:1798:39: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow
systemd-259.5/src/portable/portable.c:1756:13: enter_function: entry to ‘marker_matches_images’
systemd-259.5/src/portable/portable.c:1760:9: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1761:9: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1761:9: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1771:31: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1772:12: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1775:13: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1776:12: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1776:12: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1786:28: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1788:28: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1788:28: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1791:29: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1792:28: branch_false: following ‘false’ branch...
systemd-259.5/src/portable/portable.c:1798:39: branch_false: ...to here
systemd-259.5/src/portable/portable.c:1798:39: branch_true: following ‘true’ branch...
systemd-259.5/src/portable/portable.c:1798:39: danger: out-of-bounds write from byte 84 till byte 87 but ‘<U2000>’ ends at byte 80
# 1796|                                         /* toplevel_fd= */ AT_FDCWD,
# 1797|                                         *image_name_or_path,
# 1798|->                                       pick_filter_image_any,
# 1799|                                         ELEMENTSOF(pick_filter_image_any),
# 1800|                                         PICK_ARCHITECTURE|PICK_TRIES|PICK_RESOLVE,

Error: CPPCHECK_WARNING (CWE-457): [#def19]
systemd-259.5/src/resolve/resolvectl.c:1648: error[uninitvar]: Uninitialized variable: &pos1
# 1646|   
# 1647|           if (ifname)
# 1648|->                 printf("%s%nLink %i (%s)%n%s:", ansi_highlight(), &pos1, ifindex, ifname, &pos2, ansi_normal());
# 1649|           else if (delegate_id)
# 1650|                   printf("%s%nDelegate %s%n%s:", ansi_highlight(), &pos1, delegate_id, &pos2, ansi_normal());

Error: CPPCHECK_WARNING (CWE-457): [#def20]
systemd-259.5/src/resolve/resolvectl.c:1648: error[uninitvar]: Uninitialized variable: &pos2
# 1646|   
# 1647|           if (ifname)
# 1648|->                 printf("%s%nLink %i (%s)%n%s:", ansi_highlight(), &pos1, ifindex, ifname, &pos2, ansi_normal());
# 1649|           else if (delegate_id)
# 1650|                   printf("%s%nDelegate %s%n%s:", ansi_highlight(), &pos1, delegate_id, &pos2, ansi_normal());

Error: GCC_ANALYZER_WARNING (CWE-476): [#def21]
systemd-259.5/src/shared/discover-image.c:1130:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
systemd-259.5/src/shared/discover-image.c:937:5: enter_function: entry to ‘image_discover’
systemd-259.5/src/shared/discover-image.c:948:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:949:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:949:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:950:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:950:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:951:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:951:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:953:36: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:954:13: call_function: calling ‘pick_image_search_path’ from ‘image_discover’
systemd-259.5/src/shared/discover-image.c:954:13: return_function: returning to ‘image_discover’ from ‘pick_image_search_path’
systemd-259.5/src/shared/discover-image.c:955:12: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:958:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:1118:12: branch_true: following ‘true’ branch...
systemd-259.5/src/shared/discover-image.c:1118:73: branch_true: ...to here
systemd-259.5/src/shared/discover-image.c:1118:13: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:1119:48: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:1119:48: release_memory: ‘image’ is NULL
systemd-259.5/src/shared/discover-image.c:1121:21: call_function: calling ‘image_make’ from ‘image_discover’
systemd-259.5/src/shared/discover-image.c:1121:21: return_function: returning to ‘image_discover’ from ‘image_make’
systemd-259.5/src/shared/discover-image.c:1127:20: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:1130:22: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:1130:22: release_memory: ‘image’ is NULL
systemd-259.5/src/shared/discover-image.c:1130:17: danger: dereference of NULL ‘image’
# 1128|                           return r;
# 1129|   
# 1130|->                 image->discoverable = true;
# 1131|   
# 1132|                   r = hashmap_ensure_put(images, &image_hash_ops, image->name, image);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def22]
systemd-259.5/src/shared/discover-image.c:1140:1: warning[-Wanalyzer-malloc-leak]: leak of ‘suffix’
systemd-259.5/src/shared/discover-image.c:937:5: enter_function: entry to ‘image_discover’
systemd-259.5/src/shared/discover-image.c:948:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:949:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:949:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:950:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:950:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:951:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:951:9: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:953:36: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:954:13: call_function: calling ‘pick_image_search_path’ from ‘image_discover’
systemd-259.5/src/shared/discover-image.c:954:13: return_function: returning to ‘image_discover’ from ‘pick_image_search_path’
systemd-259.5/src/shared/discover-image.c:955:12: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:958:9: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:958:9: branch_true: following ‘true’ branch...
systemd-259.5/src/shared/discover-image.c:965:20: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:968:17: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:968:17: branch_false: following ‘false’ branch (when ‘de’ is non-NULL)...
systemd-259.5/src/shared/discover-image.c:969:46: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:977:28: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:984:37: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:985:28: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:988:29: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:988:28: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:999:35: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:999:35: branch_true: following ‘true’ branch...
systemd-259.5/src/shared/discover-image.c:1002:37: branch_true: ...to here
systemd-259.5/src/shared/discover-image.c:1003:36: branch_true: following ‘true’ branch...
systemd-259.5/src/shared/discover-image.c:1004:62: branch_true: ...to here
systemd-259.5/src/shared/discover-image.c:1007:44: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:1013:57: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:1010:45: call_function: calling ‘extract_image_basename’ from ‘image_discover’
systemd-259.5/src/shared/discover-image.c:1010:45: return_function: returning to ‘image_discover’ from ‘extract_image_basename’
systemd-259.5/src/shared/discover-image.c:1016:44: branch_false: following ‘false’ branch...
systemd-259.5/src/shared/discover-image.c:1021:67: branch_false: ...to here
systemd-259.5/src/shared/discover-image.c:1022:44: branch_true: following ‘true’ branch...
systemd-259.5/src/shared/discover-image.c:1021:62: call_function: inlined call to ‘freep’ from ‘image_discover’
systemd-259.5/src/shared/discover-image.c:1140:1: danger: ‘suffix’ leaks here; was allocated at [(62)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/61)
# 1138|   
# 1139|           return 0;
# 1140|-> }
# 1141|   
# 1142|   static int unprivileged_remove(Image *i) {

Error: CPPCHECK_WARNING (CWE-401): [#def23]
systemd-259.5/src/shared/format-table.c:450: error[memleak]: Memory leak: d
#  448|                   d->strv = strv_copy(data);
#  449|                   if (!d->strv)
#  450|->                         return NULL;
#  451|           } else
#  452|                   memcpy_safe(d->data, data, data_size);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def24]
systemd-259.5/src/test/test-path-util.c:706:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘absolute_dirs’
systemd-259.5/src/test/test-path-util.c:693:36: release_memory: ‘search_dirs’ is NULL
systemd-259.5/src/test/test-path-util.c:694:36: release_memory: ‘search_dirs’ is NULL
systemd-259.5/src/test/test-path-util.c:696:9: branch_false: following ‘false’ branch (when ‘_result’ is non-NULL)...
systemd-259.5/src/test/test-path-util.c:698:23: branch_false: ...to here
systemd-259.5/src/test/test-path-util.c:699:9: branch_false: following ‘false’ branch...
systemd-259.5/src/test/test-path-util.c:699:9: branch_false: ...to here
systemd-259.5/src/test/test-path-util.c:700:9: branch_false: following ‘false’ branch...
systemd-259.5/src/test/test-path-util.c:706:9: branch_false: ...to here
systemd-259.5/src/test/test-path-util.c:706:9: release_memory: ‘absolute_dirs’ is NULL
systemd-259.5/src/test/test-path-util.c:706:9: danger: dereference of NULL ‘absolute_dirs’
#  704|           }
#  705|   
#  706|->         assert_se(mkdir(absolute_dirs[0], 0700) == 0);
#  707|           assert_se(mkdir(absolute_dirs[1], 0700) == 0);
#  708|           assert_se(symlink("dir2", absolute_dirs[2]) == 0);

Scan Properties

analyzer-version-clippy1.95.0
analyzer-version-cppcheck2.20.0
analyzer-version-gcc16.0.1
analyzer-version-gcc-analyzer16.0.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.95.0
diffbase-analyzer-version-cppcheck2.20.0
diffbase-analyzer-version-gcc16.0.1
diffbase-analyzer-version-gcc-analyzer16.0.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-176.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20260420.180315.gd39a405.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namesystemd-260.1-2.fc45
diffbase-store-results-to/tmp/tmp_nbujdli/systemd-260.1-2.fc45.tar.xz
diffbase-time-created2026-04-28 20:11:28
diffbase-time-finished2026-04-28 20:25:01
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,shellcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmp_nbujdli/systemd-260.1-2.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp_nbujdli/systemd-260.1-2.fc45.src.rpm'
diffbase-tool-versioncsmock-3.8.5-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-176.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260420.180315.gd39a405.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namesystemd-259.5-1.fc44
store-results-to/tmp/tmpzx7ngnaq/systemd-259.5-1.fc44.tar.xz
time-created2026-04-28 19:56:43
time-finished2026-04-28 20:10:34
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,shellcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpzx7ngnaq/systemd-259.5-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpzx7ngnaq/systemd-259.5-1.fc44.src.rpm'
tool-versioncsmock-3.8.5-1.el9