libtevent-0.17.1-3.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
tevent-0.17.1/lib/replace/tests/os2_delete.c:107:24: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir("test.dir/test0.txt")’
tevent-0.17.1/lib/replace/tests/os2_delete.c:95:5: enter_function: entry to ‘test_readdir_os2_delete’
tevent-0.17.1/lib/replace/tests/os2_delete.c:104:9: call_function: calling ‘create_files’ from ‘test_readdir_os2_delete’
tevent-0.17.1/lib/replace/tests/os2_delete.c:104:9: return_function: returning to ‘test_readdir_os2_delete’ from ‘create_files’
tevent-0.17.1/lib/replace/tests/os2_delete.c:106:13: acquire_memory: allocated here
tevent-0.17.1/lib/replace/tests/os2_delete.c:107:12: branch_true: following ‘true’ branch...
tevent-0.17.1/lib/replace/tests/os2_delete.c:107:24: branch_true: ...to here
tevent-0.17.1/lib/replace/tests/os2_delete.c:109:12: branch_true: following ‘true’ branch...
tevent-0.17.1/lib/replace/tests/os2_delete.c:109:24: branch_true: ...to here
tevent-0.17.1/lib/replace/tests/os2_delete.c:107:24: danger: ‘opendir("test.dir/test0.txt")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/6)
#  105|   
#  106|   	d = opendir(TESTDIR "/test0.txt");
#  107|-> 	if (d != NULL) FAILED("opendir() on file succeed");
#  108|   	if (errno != ENOTDIR) FAILED("opendir() on file didn't give ENOTDIR");
#  109|   	if (d != NULL) closedir(d);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
tevent-0.17.1/lib/replace/tests/os2_delete.c:114:14: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir("test.dir")’
tevent-0.17.1/lib/replace/tests/os2_delete.c:95:5: enter_function: entry to ‘test_readdir_os2_delete’
tevent-0.17.1/lib/replace/tests/os2_delete.c:104:9: call_function: calling ‘create_files’ from ‘test_readdir_os2_delete’
tevent-0.17.1/lib/replace/tests/os2_delete.c:104:9: return_function: returning to ‘test_readdir_os2_delete’ from ‘create_files’
tevent-0.17.1/lib/replace/tests/os2_delete.c:109:12: branch_false: following ‘false’ branch...
tevent-0.17.1/lib/replace/tests/os2_delete.c:111:13: branch_false: ...to here
tevent-0.17.1/lib/replace/tests/os2_delete.c:111:13: acquire_memory: allocated here
tevent-0.17.1/lib/replace/tests/os2_delete.c:114:14: throw: if ‘readdir’ throws an exception...
tevent-0.17.1/lib/replace/tests/os2_delete.c:114:14: danger: ‘opendir("test.dir")’ leaks here; was allocated at [(9)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/8)
#  112|   
#  113|   	/* skip past . and .. */
#  114|-> 	de = readdir(d);
#  115|   	strcmp(de->d_name, ".") == 0 || FAILED("match .");
#  116|   	de = readdir(d);

Error: GCC_ANALYZER_WARNING (CWE-688): [#def3]
tevent-0.17.1/lib/replace/tests/os2_delete.c:114:14: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘opendir("test.dir")’ where non-null expected
tevent-0.17.1/lib/replace/tests/os2_delete.c:95:5: enter_function: entry to ‘test_readdir_os2_delete’
tevent-0.17.1/lib/replace/tests/os2_delete.c:104:9: call_function: calling ‘create_files’ from ‘test_readdir_os2_delete’
tevent-0.17.1/lib/replace/tests/os2_delete.c:104:9: return_function: returning to ‘test_readdir_os2_delete’ from ‘create_files’
tevent-0.17.1/lib/replace/tests/os2_delete.c:109:12: branch_false: following ‘false’ branch...
tevent-0.17.1/lib/replace/tests/os2_delete.c:111:13: branch_false: ...to here
tevent-0.17.1/lib/replace/tests/os2_delete.c:111:13: acquire_memory: this call could return NULL
tevent-0.17.1/lib/replace/tests/os2_delete.c:114:14: danger: argument 1 (‘opendir("test.dir")’) from [(9)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/8) could be NULL where non-null expected
#  112|   
#  113|   	/* skip past . and .. */
#  114|-> 	de = readdir(d);
#  115|   	strcmp(de->d_name, ".") == 0 || FAILED("match .");
#  116|   	de = readdir(d);

Error: CPPCHECK_WARNING (CWE-476): [#def4]
tevent-0.17.1/lib/replace/tests/testsuite.c:172: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: x
#  170|   	x = strdup("bla");
#  171|   
#  172|-> 	cmp = strcmp("bla", x);
#  173|   	if (cmp != 0) {
#  174|   		printf("failure: strdup [\nfailed: expected \"bla\", got \"%s\"\n]\n",

Error: GCC_ANALYZER_WARNING (CWE-688): [#def5]
tevent-0.17.1/lib/replace/tests/testsuite.c:172:15: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘x’ where non-null expected
tevent-0.17.1/lib/replace/tests/testsuite.c:170:13: acquire_memory: this call could return NULL
tevent-0.17.1/lib/replace/tests/testsuite.c:172:15: danger: argument 2 (‘x’) from [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0) could be NULL where non-null expected
#  170|   	x = strdup("bla");
#  171|   
#  172|-> 	cmp = strcmp("bla", x);
#  173|   	if (cmp != 0) {
#  174|   		printf("failure: strdup [\nfailed: expected \"bla\", got \"%s\"\n]\n",

Error: GCC_ANALYZER_WARNING (CWE-476): [#def6]
tevent-0.17.1/lib/replace/tests/testsuite.c:271:15: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘x’
tevent-0.17.1/lib/replace/tests/testsuite.c:270:13: acquire_memory: this call could return NULL
tevent-0.17.1/lib/replace/tests/testsuite.c:271:15: danger: ‘x’ could be NULL: unchecked value from [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  269|   	printf("test: strndup\n");
#  270|   	x = strndup("bla", 0);
#  271|-> 	cmp = strcmp(x, "");
#  272|   	free(x);
#  273|   	if (cmp != 0) {

Error: GCC_ANALYZER_WARNING (CWE-688): [#def7]
tevent-0.17.1/lib/replace/tests/testsuite.c:279:15: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘x’ where non-null expected
tevent-0.17.1/lib/replace/tests/testsuite.c:270:13: acquire_memory: this call could return NULL
tevent-0.17.1/lib/replace/tests/testsuite.c:273:12: branch_false: following ‘false’ branch...
tevent-0.17.1/lib/replace/tests/testsuite.c:278:13: branch_false: ...to here
tevent-0.17.1/lib/replace/tests/testsuite.c:278:13: acquire_memory: this call could return NULL
tevent-0.17.1/lib/replace/tests/testsuite.c:279:15: danger: argument 1 (‘x’) from [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4) could be NULL where non-null expected
#  277|   
#  278|   	x = strndup("bla", 2);
#  279|-> 	cmp = strcmp(x, "bl");
#  280|   	free(x);
#  281|   	if (cmp != 0) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def8]
tevent-0.17.1/lib/replace/tests/testsuite.c:1131:1: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd’
tevent-0.17.1/lib/replace/tests/testsuite.c:1102:19: branch_true: following ‘true’ branch (when ‘i != 100’)...
tevent-0.17.1/lib/replace/tests/testsuite.c:1103:22: branch_true: ...to here
tevent-0.17.1/lib/replace/tests/testsuite.c:1103:22: acquire_resource: opened here
tevent-0.17.1/lib/replace/tests/testsuite.c:1104:20: branch_false: following ‘false’ branch (when ‘fd != -1’)...
tevent-0.17.1/lib/replace/tests/testsuite.c:1112:20: branch_false: ...to here
tevent-0.17.1/lib/replace/tests/testsuite.c:1131:1: danger: ‘fd’ leaks here; was opened at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
# 1129|   
# 1130|   	return true;
# 1131|-> }
# 1132|   
# 1133|   static bool test_array_del_element(void)

Error: GCC_ANALYZER_WARNING (CWE-404): [#def9]
tevent-0.17.1/tevent_debug.c:128:9: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
tevent-0.17.1/tevent_debug.c:115:12: branch_false: following ‘false’ branch (when ‘ev’ is non-NULL)...
tevent-0.17.1/tevent_debug.c:118:13: branch_false: ...to here
tevent-0.17.1/tevent_debug.c:121:12: branch_false: following ‘false’ branch...
tevent-0.17.1/tevent_debug.c:124:13: branch_false: ...to here
tevent-0.17.1/tevent_debug.c:124:12: branch_false: following ‘false’ branch...
tevent-0.17.1/tevent_debug.c:127:9: branch_false: ...to here
tevent-0.17.1/tevent_debug.c:127:9: acquire_resource: ‘va_start’ called here
tevent-0.17.1/tevent_debug.c:128:9: throw: if the called function throws an exception...
tevent-0.17.1/tevent_debug.c:128:9: danger: missing call to ‘va_end’ to match ‘va_start’ at [(7)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/6)
#  126|   	}
#  127|   	va_start(ap, fmt);
#  128|-> 	ev->debug_ops.debug(ev->debug_ops.context, level, fmt, ap);
#  129|   	va_end(ap);
#  130|   }

Error: CPPCHECK_WARNING (CWE-562): [#def10]
tevent-0.17.1/tevent_epoll.c:254: error[autoVariables]: Address of local auto-variable assigned to a function parameter.
#  252|   
#  253|   	epoll_ev->pid = pid;
#  254|-> 	epoll_ev->panic_state = &panic_triggered;
#  255|   	for (fde=epoll_ev->ev->fd_events;fde;fde=fde->next) {
#  256|   		/*

Error: GCC_ANALYZER_WARNING (CWE-465): [#def11]
tevent-0.17.1/tevent_standard.c:116:12: warning[-Wanalyzer-deref-before-check]: check of ‘*<unknown>.epoll_ops’ for NULL after already dereferencing it
#  114|   	 * signify fallback to poll_ops.
#  115|   	 */
#  116|-> 	if (glue->epoll_ops != NULL) {
#  117|   		/* No fallback */
#  118|   		return ret;

Error: GCC_ANALYZER_WARNING (CWE-465): [#def12]
tevent-0.17.1/tevent_standard.c:147:12: warning[-Wanalyzer-deref-before-check]: check of ‘*<unknown>.epoll_ops’ for NULL after already dereferencing it
#  145|   	 * signify fallback to poll_ops.
#  146|   	 */
#  147|-> 	if (glue->epoll_ops != NULL) {
#  148|   		/* No fallback */
#  149|   		return ret;

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-190.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibtevent-0.17.1-3.fc44
store-results-to/tmp/tmpinsbc9a1/libtevent-0.17.1-3.fc44.tar.xz
time-created2026-01-08 19:17:28
time-finished2026-01-08 19:19:27
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpinsbc9a1/libtevent-0.17.1-3.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpinsbc9a1/libtevent-0.17.1-3.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9