libblockdev-3.3.0-3.fc43

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-688): [#def1]
libblockdev-3.3.0/src/plugins/crypto.c:3398:56: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libblockdev-3.3.0/src/plugins/crypto.c:3343:10: enter_function: entry to 'bd_crypto_escrow_device'
libblockdev-3.3.0/src/plugins/crypto.c:3372:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/crypto.c:3378:10: branch_false: ...to here
libblockdev-3.3.0/src/plugins/crypto.c:3388:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/crypto.c:3397:22: call_function: inlined call to 'g_strdup_inline' from 'bd_crypto_escrow_device'
libblockdev-3.3.0/src/plugins/crypto.c:3398:56: danger: argument 1 ('<unknown>') NULL where non-null expected
#argument 1 of '__builtin_strlen' must be non-null
# 3396|   
# 3397|       cert_data_copy = g_strdup (cert_data);
# 3398|->     cert = CERT_DecodeCertFromPackage (cert_data_copy, strlen (cert_data_copy));
# 3399|       if (!cert) {
# 3400|           g_set_error (&l_error, BD_CRYPTO_ERROR, BD_CRYPTO_ERROR_CERT_DECODE,

Error: GCC_ANALYZER_WARNING (CWE-775): [#def2]
libblockdev-3.3.0/src/plugins/fs/mount.c:491:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'pipefd[0]'
libblockdev-3.3.0/src/plugins/fs/mount.c:713:10: enter_function: entry to 'bd_fs_mount'
libblockdev-3.3.0/src/plugins/fs/mount.c:741:21: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/fs/mount.c:736:39: branch_false: ...to here
libblockdev-3.3.0/src/plugins/fs/mount.c:736:29: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/fs/mount.c:763:9: branch_false: ...to here
libblockdev-3.3.0/src/plugins/fs/mount.c:763:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/fs/mount.c:764:15: branch_true: ...to here
libblockdev-3.3.0/src/plugins/fs/mount.c:764:15: call_function: calling 'run_as_user' from 'bd_fs_mount'
#  489|           g_set_error (error, BD_FS_ERROR, BD_FS_ERROR_FAIL,
#  490|                        "Not running as root, cannot change the UID/GID.");
#  491|->         return FALSE;
#  492|       }
#  493|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def3]
libblockdev-3.3.0/src/plugins/fs/mount.c:491:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'pipefd[1]'
libblockdev-3.3.0/src/plugins/fs/mount.c:713:10: enter_function: entry to 'bd_fs_mount'
libblockdev-3.3.0/src/plugins/fs/mount.c:741:21: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/fs/mount.c:736:39: branch_false: ...to here
libblockdev-3.3.0/src/plugins/fs/mount.c:736:29: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/fs/mount.c:763:9: branch_false: ...to here
libblockdev-3.3.0/src/plugins/fs/mount.c:763:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/fs/mount.c:764:15: branch_true: ...to here
libblockdev-3.3.0/src/plugins/fs/mount.c:764:15: call_function: calling 'run_as_user' from 'bd_fs_mount'
#  489|           g_set_error (error, BD_FS_ERROR, BD_FS_ERROR_FAIL,
#  490|                        "Not running as root, cannot change the UID/GID.");
#  491|->         return FALSE;
#  492|       }
#  493|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def4]
libblockdev-3.3.0/src/plugins/loop.c:157:10: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open(<unknown>, 0)'
libblockdev-3.3.0/src/plugins/loop.c:157:10: acquire_resource: opened here
libblockdev-3.3.0/src/plugins/loop.c:157:10: danger: 'open(<unknown>, 0)' leaks here; was opened at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  155|           dev_loop = g_strdup_printf ("/dev/%s", loop);
#  156|   
#  157|->     fd = open (dev_loop ? dev_loop : loop, O_RDONLY);
#  158|       if (fd < 0) {
#  159|           g_set_error (error, BD_LOOP_ERROR, BD_LOOP_ERROR_DEVICE,

Error: GCC_ANALYZER_WARNING (CWE-476): [#def5]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:492:10: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:467:24: enter_function: entry to 'bd_nvme_get_controller_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:474:10: call_function: calling '_open_dev' from 'bd_nvme_get_controller_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:474:10: return_function: returning to 'bd_nvme_get_controller_info' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:475:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:478:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:478:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_controller_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:478:15: return_function: returning to 'bd_nvme_get_controller_info' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:479:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:479:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:482:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:489:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:492:10: danger: dereference of NULL '_nvme_alloc(4096)'
#  490|   
#  491|       info = g_new0 (BDNVMEControllerInfo, 1);
#  492|->     if ((ctrl_id->cmic & NVME_CTRL_CMIC_MULTI_PORT) == NVME_CTRL_CMIC_MULTI_PORT)
#  493|           info->features |= BD_NVME_CTRL_FEAT_MULTIPORT;
#  494|       if ((ctrl_id->cmic & NVME_CTRL_CMIC_MULTI_CTRL) == NVME_CTRL_CMIC_MULTI_CTRL)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def6]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:636:26: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:587:22: enter_function: entry to 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:605:10: call_function: calling '_open_dev' from 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:605:10: return_function: returning to 'bd_nvme_get_namespace_info' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:606:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:610:11: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:611:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:619:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:619:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:619:15: return_function: returning to 'bd_nvme_get_namespace_info' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:620:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:620:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:622:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:631:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:631:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:631:15: return_function: returning to 'bd_nvme_get_namespace_info' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:632:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:632:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:636:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:636:26: branch_true: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:636:26: danger: dereference of NULL '_nvme_alloc(4096)'
#  634|   
#  635|       /* send the NVME_IDENTIFY_CNS_NS_DESC_LIST ioctl, NVMe 1.3 */
#  636|->     if (ret_ctrl == 0 && GUINT32_FROM_LE (ctrl_id->ver) >= 0x10300) {
#  637|           descs = _nvme_alloc (NVME_IDENTIFY_DATA_SIZE);
#  638|           g_warn_if_fail (descs != NULL);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def7]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:652:19: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:587:22: enter_function: entry to 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:605:10: call_function: calling '_open_dev' from 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:605:10: return_function: returning to 'bd_nvme_get_namespace_info' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:606:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:610:11: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:611:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:619:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:619:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:619:15: return_function: returning to 'bd_nvme_get_namespace_info' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:620:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:620:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:622:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:631:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:631:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_namespace_info'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:631:15: return_function: returning to 'bd_nvme_get_namespace_info' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:632:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:632:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:636:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:648:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:652:19: danger: dereference of NULL '_nvme_alloc(4096)'
#  650|       info = g_new0 (BDNVMENamespaceInfo, 1);
#  651|       info->nsid = nsid;
#  652|->     info->nsize = GUINT64_FROM_LE (ns_info->nsze);
#  653|       info->ncap = GUINT64_FROM_LE (ns_info->ncap);
#  654|       info->nuse = GUINT64_FROM_LE (ns_info->nuse);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:791:10: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:750:18: enter_function: entry to 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:760:10: call_function: calling '_open_dev' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:760:10: return_function: returning to 'bd_nvme_get_smart_log' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:761:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:765:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:765:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:765:15: return_function: returning to 'bd_nvme_get_smart_log' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:766:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:766:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:768:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:777:17: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:777:17: call_function: calling '_nvme_alloc' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:777:17: return_function: returning to 'bd_nvme_get_smart_log' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:778:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:778:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:780:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:788:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:791:10: danger: dereference of NULL '_nvme_alloc(512)'
#  789|   
#  790|       log = g_new0 (BDNVMESmartLog, 1);
#  791|->     if ((smart_log->critical_warning & NVME_SMART_CRIT_SPARE) == NVME_SMART_CRIT_SPARE)
#  792|           log->critical_warning |= BD_NVME_SMART_CRITICAL_WARNING_SPARE;
#  793|       if ((smart_log->critical_warning & NVME_SMART_CRIT_TEMPERATURE) == NVME_SMART_CRIT_TEMPERATURE)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:822:23: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:750:18: enter_function: entry to 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:760:10: call_function: calling '_open_dev' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:760:10: return_function: returning to 'bd_nvme_get_smart_log' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:761:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:765:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:765:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:765:15: return_function: returning to 'bd_nvme_get_smart_log' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:766:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:766:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:768:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:777:17: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:777:17: call_function: calling '_nvme_alloc' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:777:17: return_function: returning to 'bd_nvme_get_smart_log' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:778:5: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:779:11: call_function: inlined call to 'nvme_get_log_smart' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:780:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:788:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:806:28: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:806:28: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:807:31: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:807:31: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:808:27: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:808:27: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:809:25: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:809:25: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:810:27: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:810:27: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:811:29: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:811:29: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:812:25: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:812:25: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:813:32: call_function: calling 'int128_to_guint64' from 'bd_nvme_get_smart_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:813:32: return_function: returning to 'bd_nvme_get_smart_log' from 'int128_to_guint64'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:816:17: branch_true: following 'true' branch (when 'i != 8')...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:817:32: branch_true: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:822:23: danger: dereference of NULL '_nvme_alloc(4096)'
#  820|   
#  821|       if (ret_identify == 0) {
#  822|->         log->wctemp = GUINT16_FROM_LE (ctrl_id->wctemp);
#  823|           log->cctemp = GUINT16_FROM_LE (ctrl_id->cctemp);
#  824|       }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def10]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:881:12: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:855:24: enter_function: entry to 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:865:10: call_function: calling '_open_dev' from 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:865:10: return_function: returning to 'bd_nvme_get_error_log_entries' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:866:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:870:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:870:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:870:15: return_function: returning to 'bd_nvme_get_error_log_entries' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:871:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:871:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:873:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:881:12: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:881:12: danger: dereference of NULL '_nvme_alloc(4096)'
#  879|       }
#  880|   
#  881|->     elpe = ctrl_id->elpe + 1;
#  882|       free (ctrl_id);
#  883|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def11]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:900:13: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:855:24: enter_function: entry to 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:865:10: call_function: calling '_open_dev' from 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:865:10: return_function: returning to 'bd_nvme_get_error_log_entries' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:866:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:870:15: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:870:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:870:15: return_function: returning to 'bd_nvme_get_error_log_entries' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:871:5: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:872:11: call_function: inlined call to 'nvme_identify_ctrl' from 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:873:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:881:12: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:885:15: call_function: calling '_nvme_alloc' from 'bd_nvme_get_error_log_entries'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:885:15: return_function: returning to 'bd_nvme_get_error_log_entries' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:886:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:886:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:888:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:895:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:899:17: branch_true: following 'true' branch (when 'i < elpe')...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:900:13: branch_true: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:900:13: release_memory: '0' is NULL
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:900:13: danger: dereference of NULL '_nvme_alloc((long unsigned int)((int)*<unknown>.elpe + 1) * 64) + (long unsigned int)i * 64'
#  898|       ptr_array = g_ptr_array_new ();
#  899|       for (i = 0; i < elpe; i++) {
#  900|->         if (GUINT64_FROM_LE (err_log[i].error_count) > 0) {
#  901|               BDNVMEErrorLogEntry *entry;
#  902|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def12]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:964:13: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:937:21: enter_function: entry to 'bd_nvme_get_self_test_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:946:10: call_function: calling '_open_dev' from 'bd_nvme_get_self_test_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:946:10: return_function: returning to 'bd_nvme_get_self_test_log' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:947:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:951:21: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:951:21: call_function: calling '_nvme_alloc' from 'bd_nvme_get_self_test_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:951:21: return_function: returning to 'bd_nvme_get_self_test_log' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:952:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:952:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:953:11: call_function: calling 'nvme_get_log_device_self_test' from 'bd_nvme_get_self_test_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:953:11: return_function: returning to 'bd_nvme_get_self_test_log' from 'nvme_get_log_device_self_test'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:954:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:961:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:964:13: danger: dereference of NULL '_nvme_alloc(564)'
#  962|   
#  963|       log = g_new0 (BDNVMESelfTestLog, 1);
#  964|->     switch (self_test_log->current_operation & NVME_ST_CURR_OP_MASK) {
#  965|           case NVME_ST_CURR_OP_NOT_RUNNING:
#  966|               log->current_operation = BD_NVME_SELF_TEST_ACTION_NOT_RUNNING;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def13]
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1109:5: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1082:21: enter_function: entry to 'bd_nvme_get_sanitize_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1090:10: call_function: calling '_open_dev' from 'bd_nvme_get_sanitize_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1090:10: return_function: returning to 'bd_nvme_get_sanitize_log' from '_open_dev'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1091:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1095:20: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1095:20: call_function: calling '_nvme_alloc' from 'bd_nvme_get_sanitize_log'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1095:20: return_function: returning to 'bd_nvme_get_sanitize_log' from '_nvme_alloc'
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1096:5: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1096:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1098:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1105:5: branch_false: ...to here
libblockdev-3.3.0/src/plugins/nvme/nvme-info.c:1109:5: danger: dereference of NULL '_nvme_alloc(512)'
# 1107|       log = g_new0 (BDNVMESanitizeLog, 1);
# 1108|       log->sanitize_progress = 0;
# 1109|->     sstat = GUINT16_FROM_LE (sanitize_log->sstat);
# 1110|       if ((sstat & NVME_SANITIZE_SSTAT_STATUS_MASK) == NVME_SANITIZE_SSTAT_STATUS_IN_PROGESS)
# 1111|           log->sanitize_progress = ((gdouble) GUINT16_FROM_LE (sanitize_log->sprog) * 100) / 0x10000;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def14]
libblockdev-3.3.0/src/plugins/part.c:1367:48: warning[-Wanalyzer-null-dereference]: dereference of NULL 'l_error'
libblockdev-3.3.0/src/plugins/part.c:1352:10: enter_function: entry to 'bd_part_delete_part'
libblockdev-3.3.0/src/plugins/part.c:1359:13: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1365:16: call_function: calling 'get_part_num' from 'bd_part_delete_part'
libblockdev-3.3.0/src/plugins/part.c:1365:16: return_function: returning to 'bd_part_delete_part' from 'get_part_num'
libblockdev-3.3.0/src/plugins/part.c:1366:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/part.c:1367:55: branch_true: ...to here
libblockdev-3.3.0/src/plugins/part.c:1367:55: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1368:9: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1367:48: danger: dereference of NULL 'l_error'
# 1365|       part_num = get_part_num (part, &l_error);
# 1366|       if (part_num == -1) {
# 1367|->         bd_utils_report_finished (progress_id, l_error->message);
# 1368|           g_propagate_error (error, l_error);
# 1369|           return FALSE;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def15]
libblockdev-3.3.0/src/plugins/part.c:1529:48: warning[-Wanalyzer-null-dereference]: dereference of NULL 'l_error'
libblockdev-3.3.0/src/plugins/part.c:1506:10: enter_function: entry to 'bd_part_resize_part'
libblockdev-3.3.0/src/plugins/part.c:1521:13: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1527:16: call_function: calling 'get_part_num' from 'bd_part_resize_part'
libblockdev-3.3.0/src/plugins/part.c:1527:16: return_function: returning to 'bd_part_resize_part' from 'get_part_num'
libblockdev-3.3.0/src/plugins/part.c:1528:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/part.c:1529:55: branch_true: ...to here
libblockdev-3.3.0/src/plugins/part.c:1529:55: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1530:9: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1529:48: danger: dereference of NULL 'l_error'
# 1527|       part_num = get_part_num (part, &l_error);
# 1528|       if (part_num == -1) {
# 1529|->         bd_utils_report_finished (progress_id, l_error->message);
# 1530|           g_propagate_error (error, l_error);
# 1531|           return FALSE;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def16]
libblockdev-3.3.0/src/plugins/part.c:1845:48: warning[-Wanalyzer-null-dereference]: dereference of NULL 'l_error'
libblockdev-3.3.0/src/plugins/part.c:1800:10: enter_function: entry to 'bd_part_set_part_name'
libblockdev-3.3.0/src/plugins/part.c:1809:13: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1815:11: call_function: calling 'get_device_context' from 'bd_part_set_part_name'
libblockdev-3.3.0/src/plugins/part.c:1815:11: return_function: returning to 'bd_part_set_part_name' from 'get_device_context'
libblockdev-3.3.0/src/plugins/part.c:1816:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/part.c:1821:10: branch_false: ...to here
libblockdev-3.3.0/src/plugins/part.c:1822:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/part.c:1831:18: branch_false: ...to here
libblockdev-3.3.0/src/plugins/part.c:1832:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/part.c:1842:16: branch_false: ...to here
libblockdev-3.3.0/src/plugins/part.c:1842:16: call_function: calling 'get_part_num' from 'bd_part_set_part_name'
libblockdev-3.3.0/src/plugins/part.c:1842:16: return_function: returning to 'bd_part_set_part_name' from 'get_part_num'
libblockdev-3.3.0/src/plugins/part.c:1843:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/part.c:1844:9: branch_true: ...to here
libblockdev-3.3.0/src/plugins/part.c:1845:55: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1846:9: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1845:48: danger: dereference of NULL 'l_error'
# 1843|       if (part_num == -1) {
# 1844|           close_context (cxt);
# 1845|->         bd_utils_report_finished (progress_id, l_error->message);
# 1846|           g_propagate_error (error, l_error);
# 1847|           return FALSE;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def17]
libblockdev-3.3.0/src/plugins/part.c:1926:48: warning[-Wanalyzer-null-dereference]: dereference of NULL 'l_error'
libblockdev-3.3.0/src/plugins/part.c:1913:10: enter_function: entry to 'bd_part_set_part_type'
libblockdev-3.3.0/src/plugins/part.c:1918:13: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1924:16: call_function: calling 'get_part_num' from 'bd_part_set_part_type'
libblockdev-3.3.0/src/plugins/part.c:1924:16: return_function: returning to 'bd_part_set_part_type' from 'get_part_num'
libblockdev-3.3.0/src/plugins/part.c:1925:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/part.c:1926:55: branch_true: ...to here
libblockdev-3.3.0/src/plugins/part.c:1926:55: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1927:9: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1926:48: danger: dereference of NULL 'l_error'
# 1924|       part_num = get_part_num (part, &l_error);
# 1925|       if (part_num == -1) {
# 1926|->         bd_utils_report_finished (progress_id, l_error->message);
# 1927|           g_propagate_error (error, l_error);
# 1928|           return FALSE;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def18]
libblockdev-3.3.0/src/plugins/part.c:1985:48: warning[-Wanalyzer-null-dereference]: dereference of NULL 'l_error'
libblockdev-3.3.0/src/plugins/part.c:1972:10: enter_function: entry to 'bd_part_set_part_id'
libblockdev-3.3.0/src/plugins/part.c:1977:13: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1983:16: call_function: calling 'get_part_num' from 'bd_part_set_part_id'
libblockdev-3.3.0/src/plugins/part.c:1983:16: return_function: returning to 'bd_part_set_part_id' from 'get_part_num'
libblockdev-3.3.0/src/plugins/part.c:1984:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/part.c:1985:55: branch_true: ...to here
libblockdev-3.3.0/src/plugins/part.c:1985:55: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1986:9: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:1985:48: danger: dereference of NULL 'l_error'
# 1983|       part_num = get_part_num (part, &l_error);
# 1984|       if (part_num == -1) {
# 1985|->         bd_utils_report_finished (progress_id, l_error->message);
# 1986|           g_propagate_error (error, l_error);
# 1987|           return FALSE;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def19]
libblockdev-3.3.0/src/plugins/part.c:2076:48: warning[-Wanalyzer-null-dereference]: dereference of NULL 'l_error'
libblockdev-3.3.0/src/plugins/part.c:2031:10: enter_function: entry to 'bd_part_set_part_uuid'
libblockdev-3.3.0/src/plugins/part.c:2040:13: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:2046:11: call_function: calling 'get_device_context' from 'bd_part_set_part_uuid'
libblockdev-3.3.0/src/plugins/part.c:2046:11: return_function: returning to 'bd_part_set_part_uuid' from 'get_device_context'
libblockdev-3.3.0/src/plugins/part.c:2047:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/part.c:2052:10: branch_false: ...to here
libblockdev-3.3.0/src/plugins/part.c:2053:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/part.c:2062:18: branch_false: ...to here
libblockdev-3.3.0/src/plugins/part.c:2063:8: branch_false: following 'false' branch...
libblockdev-3.3.0/src/plugins/part.c:2073:16: branch_false: ...to here
libblockdev-3.3.0/src/plugins/part.c:2073:16: call_function: calling 'get_part_num' from 'bd_part_set_part_uuid'
libblockdev-3.3.0/src/plugins/part.c:2073:16: return_function: returning to 'bd_part_set_part_uuid' from 'get_part_num'
libblockdev-3.3.0/src/plugins/part.c:2074:8: branch_true: following 'true' branch...
libblockdev-3.3.0/src/plugins/part.c:2075:9: branch_true: ...to here
libblockdev-3.3.0/src/plugins/part.c:2076:55: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:2077:9: release_memory: 'l_error' is NULL
libblockdev-3.3.0/src/plugins/part.c:2076:48: danger: dereference of NULL 'l_error'
# 2074|       if (part_num == -1) {
# 2075|           close_context (cxt);
# 2076|->         bd_utils_report_finished (progress_id, l_error->message);
# 2077|           g_propagate_error (error, l_error);
# 2078|           return FALSE;

Scan Properties

analyzer-version-clippy1.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-195.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibblockdev-3.3.0-3.fc43
store-results-to/tmp/tmpm93munw2/libblockdev-3.3.0-3.fc43.tar.xz
time-created2025-04-25 13:54:31
time-finished2025-04-25 13:57:17
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmpm93munw2/libblockdev-3.3.0-3.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpm93munw2/libblockdev-3.3.0-3.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9