Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-688): [#def1]
dnsconfd-2.2.0/src/dns_managers/unbound_manager.c: scope_hint: In function ‘effective_ca_from_config’
dnsconfd-2.2.0/src/dns_managers/unbound_manager.c:209:12: warning[-Wanalyzer-null-argument]: use of NULL ‘effective_ca’ where non-null expected
/usr/include/glib-2.0/glib/galloca.h:35: included_from: Included from here.
/usr/include/glib-2.0/glib.h:32: included_from: Included from here.
dnsconfd-2.2.0/src/dns_managers/unbound_manager.h:1: included_from: Included from here.
dnsconfd-2.2.0/src/dns_managers/unbound_manager.c:1: included_from: Included from here.
/usr/include/string.h:202:14: note: argument 1 of ‘strdup’ must be non-null
#  207|     }
#  208|   
#  209|->   result = strdup(effective_ca);
#  210|   
#  211|     free(backup_ca);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def2]
dnsconfd-2.2.0/src/fsm/fsm.c: scope_hint: In function ‘revert_resolv_conf’
dnsconfd-2.2.0/src/fsm/fsm.c:260:63: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*ctx_8(D)->config.resolv_conf_path, "w")’
dnsconfd-2.2.0/src/fsm/fsm.c: scope_hint: In function ‘revert_resolv_conf’
#  258|     FILE *resolv_conf_file = fopen(ctx->config->resolv_conf_path, "w");
#  259|   
#  260|->   if (!resolv_conf_file || fprintf(resolv_conf_file, "%s", ctx->resolv_conf_backup->str) < 0) {
#  261|       dnsconfd_log(LOG_ERR, "Failed to revert resolv.conf");
#  262|       return EVENT_FAILURE;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
dnsconfd-2.2.0/src/fsm/fsm.c:260:63: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*ctx_8(D)->config.resolv_conf_path, "w")’
dnsconfd-2.2.0/src/fsm/fsm.c: scope_hint: In function ‘revert_resolv_conf’
#  258|     FILE *resolv_conf_file = fopen(ctx->config->resolv_conf_path, "w");
#  259|   
#  260|->   if (!resolv_conf_file || fprintf(resolv_conf_file, "%s", ctx->resolv_conf_backup->str) < 0) {
#  261|       dnsconfd_log(LOG_ERR, "Failed to revert resolv.conf");
#  262|       return EVENT_FAILURE;

Error: CPPCHECK_WARNING (CWE-404): [#def4]
dnsconfd-2.2.0/src/fsm/fsm.c:265: error[resourceLeak]: Resource leak: resolv_conf_file
#  263|     }
#  264|   
#  265|->   return EVENT_SUCCESS;
#  266|   }
#  267|   

Scan Properties

analyzer-version-clippy1.95.0
analyzer-version-cppcheck2.20.0
analyzer-version-gcc16.1.1
analyzer-version-gcc-analyzer16.1.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.1.1
diffbase-analyzer-version-gcc-analyzer16.1.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-154.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-namednsconfd-2.2.1-1
diffbase-store-results-to/tmp/tmprt9g0afm/dnsconfd-2.2.1-1.tar.xz
diffbase-time-created2026-05-12 14:45:26
diffbase-time-finished2026-05-12 14:46:37
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,shellcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmprt9g0afm/dnsconfd-2.2.1-1.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmprt9g0afm/dnsconfd-2.2.1-1.src.rpm'
diffbase-tool-versioncsmock-3.8.5-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-154.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-namednsconfd-2.2.0-1
store-results-to/tmp/tmpx4f5rfg2/dnsconfd-2.2.0-1.tar.xz
time-created2026-05-12 14:43:23
time-finished2026-05-12 14:45:07
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,shellcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpx4f5rfg2/dnsconfd-2.2.0-1.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '/tmp/tmpx4f5rfg2/dnsconfd-2.2.0-1.src.rpm'
tool-versioncsmock-3.8.5-1.el9