Fixed findings

List of Findings

Error: COMPILER_WARNING (CWE-704): [#def1]
libuv-v1.51.0/src/inet.c: scope_hint: In function ‘uv_inet_pton’
libuv-v1.51.0/src/inet.c:157:7: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  157 |     p = strchr(src, '%');
#      |       ^
#  155|       char tmp[UV__INET6_ADDRSTRLEN], *s, *p;
#  156|       s = (char*) src;
#  157|->     p = strchr(src, '%');
#  158|       if (p != NULL) {
#  159|         s = tmp;

Error: COMPILER_WARNING (CWE-704): [#def2]
libuv-v1.51.0/src/inet.c:157:7: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  155|       char tmp[UV__INET6_ADDRSTRLEN], *s, *p;
#  156|       s = (char*) src;
#  157|->     p = strchr(src, '%');
#  158|       if (p != NULL) {
#  159|         s = tmp;

Error: COMPILER_WARNING (CWE-704): [#def3]
libuv-v1.51.0/src/threadpool.c:25: included_from: Included from here.
libuv-v1.51.0/src/unix/internal.h: scope_hint: In function ‘uv__basename_r’
libuv-v1.51.0/src/unix/internal.h:411:5: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  411 |   s = strrchr(path, '/');
#      |     ^
#  409|     char* s;
#  410|   
#  411|->   s = strrchr(path, '/');
#  412|     if (s == NULL)
#  413|       return (char*) path;

Error: COMPILER_WARNING (CWE-704): [#def4]
libuv-v1.51.0/src/unix/internal.h:411:5: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  409|     char* s;
#  410|   
#  411|->   s = strrchr(path, '/');
#  412|     if (s == NULL)
#  413|       return (char*) path;

Error: COMPILER_WARNING: [#def5]
libuv-v1.51.0/src/unix/linux.c: scope_hint: In function ‘uv__get_constrained_cpu’
libuv-v1.51.0/src/unix/linux.c:2354:47: warning[-Wformat-truncation=]: ‘/cpu.max’ directive output may be truncated writing 8 bytes into a region of size between 1 and 256
# 2354 |     snprintf(full_path, sizeof(full_path), "%s/cpu.max", path);
#      |                                               ^~~~~~~~
/usr/include/bits/stdio2.h:68:10: note: ‘__snprintf_chk’ output between 9 and 264 bytes into a destination of size 256
#   68 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
#      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   69 |                                    __glibc_objsize (__s), __fmt,
#      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#   70 |                                    __va_arg_pack ());
#      |                                    ~~~~~~~~~~~~~~~~~
# 2352|      */
# 2353|     while (strncmp(path, cgroup_mount, strlen(cgroup_mount)) == 0) {
# 2354|->     snprintf(full_path, sizeof(full_path), "%s/cpu.max", path);
# 2355|   
# 2356|       /* Silently ignore and continue if the file does not exist */

Error: COMPILER_WARNING (CWE-704): [#def6]
libuv-v1.51.0/src/unix/linux.c: scope_hint: In function ‘uv__cgroup1_find_cpu_controller’
libuv-v1.51.0/src/unix/linux.c:2392:22: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
# 2392 |   char* cgroup_cpu = strstr(cgroup, ":cpu,");
#      |                      ^~~~~~
# 2390|                                                int* cgroup_size) {
# 2391|     /* Seek to the cpu controller line. */
# 2392|->   char* cgroup_cpu = strstr(cgroup, ":cpu,");
# 2393|   
# 2394|     if (cgroup_cpu != NULL) {

Error: COMPILER_WARNING (CWE-704): [#def7]
libuv-v1.51.0/src/unix/linux.c:2392:22: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
# 2390|                                                int* cgroup_size) {
# 2391|     /* Seek to the cpu controller line. */
# 2392|->   char* cgroup_cpu = strstr(cgroup, ":cpu,");
# 2393|   
# 2394|     if (cgroup_cpu != NULL) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def8]
libuv-v1.51.0/src/unix/pipe.c:174:3: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘*handle.io_watcher.fd’
libuv-v1.51.0/src/unix/pipe.c:154:6: branch_false: following ‘false’ branch...
libuv-v1.51.0/src/unix/pipe.c:157:7: branch_false: ...to here
libuv-v1.51.0/src/unix/pipe.c:157:6: branch_false: following ‘false’ branch...
libuv-v1.51.0/src/unix/pipe.c:169:7: branch_false: ...to here
libuv-v1.51.0/src/unix/pipe.c:169:6: branch_false: following ‘false’ branch...
libuv-v1.51.0/src/unix/pipe.c:172:3: branch_false: ...to here
libuv-v1.51.0/src/unix/pipe.c:174:3: danger: ‘*handle.io_watcher.fd’ leaks here
#  172|     handle->connection_cb = cb;
#  173|     handle->io_watcher.cb = uv__server_io;
#  174|->   uv__io_start(handle->loop, &handle->io_watcher, POLLIN);
#  175|     return 0;
#  176|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def9]
libuv-v1.51.0/src/unix/tcp.c:448:3: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘*tcp.io_watcher.fd’
libuv-v1.51.0/src/unix/tcp.c:421:5: enter_function: entry to ‘uv__tcp_listen’
libuv-v1.51.0/src/unix/tcp.c:425:6: branch_false: following ‘false’ branch...
libuv-v1.51.0/src/unix/tcp.c:436:9: branch_false: ...to here
libuv-v1.51.0/src/unix/tcp.c:436:9: call_function: calling ‘maybe_new_socket’ from ‘uv__tcp_listen’
libuv-v1.51.0/src/unix/tcp.c:436:9: return_function: returning to ‘uv__tcp_listen’ from ‘maybe_new_socket’
libuv-v1.51.0/src/unix/tcp.c:437:6: branch_false: following ‘false’ branch...
libuv-v1.51.0/src/unix/tcp.c:440:7: branch_false: ...to here
libuv-v1.51.0/src/unix/tcp.c:440:6: branch_false: following ‘false’ branch...
libuv-v1.51.0/src/unix/tcp.c:443:3: branch_false: ...to here
libuv-v1.51.0/src/unix/tcp.c:448:3: danger: ‘*tcp.io_watcher.fd’ leaks here
#  446|     /* Start listening for connections. */
#  447|     tcp->io_watcher.cb = uv__server_io;
#  448|->   uv__io_start(tcp->loop, &tcp->io_watcher, POLLIN);
#  449|   
#  450|     return 0;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def10]
libuv-v1.51.0/test/test-fork.c:209:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe[1]’
libuv-v1.51.0/test/test-fork.c:169:1: enter_function: entry to ‘run_test_fork_socketpair_started’
libuv-v1.51.0/test/test-fork.c:179:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:182:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:182:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_socketpair_started’
libuv-v1.51.0/test/test-fork.c:182:3: return_function: returning to ‘run_test_fork_socketpair_started’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:184:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:187:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:187:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:188:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:188:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:194:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:194:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:199:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:201:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:203:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:203:6: branch_true: following ‘true’ branch (when ‘child_pid != 0’)...
libuv-v1.51.0/test/test-fork.c:205:5: branch_true: ...to here
libuv-v1.51.0/test/test-fork.c:205:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:206:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:207:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:208:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:208:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:209:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:209:5: danger: use of uninitialized value ‘sync_pipe[1]’ here
#  207|       ASSERT_OK(uv_run(uv_default_loop(), UV_RUN_DEFAULT));
#  208|       ASSERT_OK(socket_cb_called);
#  209|->     ASSERT_EQ(1, write(sync_pipe[1], "1", 1)); /* alert child */
#  210|       ASSERT_EQ(3, send(socket_fds[1], "hi\n", 3, 0));
#  211|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def11]
libuv-v1.51.0/test/test-fork.c:219:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe[0]’
libuv-v1.51.0/test/test-fork.c:169:1: enter_function: entry to ‘run_test_fork_socketpair_started’
libuv-v1.51.0/test/test-fork.c:179:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:182:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:182:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_socketpair_started’
libuv-v1.51.0/test/test-fork.c:182:3: return_function: returning to ‘run_test_fork_socketpair_started’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:184:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:187:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:187:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:188:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:188:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:194:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:194:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:199:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:201:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:203:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:203:6: branch_false: following ‘false’ branch (when ‘child_pid == 0’)...
libuv-v1.51.0/test/test-fork.c:218:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:219:5: danger: use of uninitialized value ‘sync_pipe[0]’ here
#  217|       /* child */
#  218|       printf("Child is %d\n", getpid());
#  219|->     ASSERT_EQ(1, read(sync_pipe[0], sync_buf, 1)); /* wait for parent */
#  220|       ASSERT_OK(uv_loop_fork(uv_default_loop()));
#  221|       ASSERT_OK(socket_cb_called);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def12]
libuv-v1.51.0/test/test-fork.c:275:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe[0]’
libuv-v1.51.0/test/test-fork.c:246:1: enter_function: entry to ‘run_test_fork_signal_to_child’
libuv-v1.51.0/test/test-fork.c:256:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:259:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:259:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_signal_to_child’
libuv-v1.51.0/test/test-fork.c:259:3: return_function: returning to ‘run_test_fork_signal_to_child’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:261:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:262:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:262:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:269:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:271:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:273:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:273:6: branch_true: following ‘true’ branch (when ‘child_pid != 0’)...
libuv-v1.51.0/test/test-fork.c:275:5: branch_true: ...to here
libuv-v1.51.0/test/test-fork.c:275:5: danger: use of uninitialized value ‘sync_pipe[0]’ here
#  273|     if (child_pid != 0) {
#  274|       /* parent */
#  275|->     ASSERT_EQ(1, read(sync_pipe[0], sync_buf, 1)); /* wait for child */
#  276|       ASSERT_OK(kill(child_pid, SIGUSR1));
#  277|       /* Run the loop, make sure we don't get the signal. */

Error: GCC_ANALYZER_WARNING (CWE-457): [#def13]
libuv-v1.51.0/test/test-fork.c:287:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe[1]’
libuv-v1.51.0/test/test-fork.c:246:1: enter_function: entry to ‘run_test_fork_signal_to_child’
libuv-v1.51.0/test/test-fork.c:256:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:259:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:259:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_signal_to_child’
libuv-v1.51.0/test/test-fork.c:259:3: return_function: returning to ‘run_test_fork_signal_to_child’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:261:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:262:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:262:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:269:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:271:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:273:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:273:6: branch_false: following ‘false’ branch (when ‘child_pid == 0’)...
libuv-v1.51.0/test/test-fork.c:286:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:286:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:287:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:287:5: danger: use of uninitialized value ‘sync_pipe[1]’ here
#  285|       /* child */
#  286|       ASSERT_OK(uv_loop_fork(uv_default_loop()));
#  287|->     ASSERT_EQ(1, write(sync_pipe[1], "1", 1)); /* alert parent */
#  288|       /* Get the signal. */
#  289|       ASSERT_NE(0, uv_loop_alive(uv_default_loop()));

Error: GCC_ANALYZER_WARNING (CWE-457): [#def14]
libuv-v1.51.0/test/test-fork.c:334:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe[0]’
libuv-v1.51.0/test/test-fork.c:300:1: enter_function: entry to ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:313:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:317:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:317:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:317:3: return_function: returning to ‘run_test_fork_signal_to_child_closed’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:319:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:327:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:329:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:331:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:331:6: branch_true: following ‘true’ branch (when ‘child_pid != 0’)...
libuv-v1.51.0/test/test-fork.c:333:5: branch_true: ...to here
libuv-v1.51.0/test/test-fork.c:334:5: danger: use of uninitialized value ‘sync_pipe[0]’ here
#  332|       /* parent */
#  333|       printf("Wating on child in parent\n");
#  334|->     ASSERT_EQ(1, read(sync_pipe[0], sync_buf, 1)); /* wait for child */
#  335|       printf("Parent killing child\n");
#  336|       ASSERT_OK(kill(child_pid, SIGUSR1));

Error: GCC_ANALYZER_WARNING (CWE-457): [#def15]
libuv-v1.51.0/test/test-fork.c:346:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe2[1]’
libuv-v1.51.0/test/test-fork.c:300:1: enter_function: entry to ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:313:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:317:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:317:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:317:3: return_function: returning to ‘run_test_fork_signal_to_child_closed’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:319:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:327:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:329:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:331:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:331:6: branch_true: following ‘true’ branch (when ‘child_pid != 0’)...
libuv-v1.51.0/test/test-fork.c:333:5: branch_true: ...to here
libuv-v1.51.0/test/test-fork.c:334:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:335:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:336:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:338:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:341:5: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:341:5: return_function: returning to ‘run_test_fork_signal_to_child_closed’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:343:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:344:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:345:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:346:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:346:5: danger: use of uninitialized value ‘sync_pipe2[1]’ here
#  344|       printf("Signal in parent %d\n", fork_signal_cb_called);
#  345|       ASSERT_OK(fork_signal_cb_called);
#  346|->     ASSERT_EQ(1, write(sync_pipe2[1], "1", 1)); /* alert child */
#  347|       printf("Waiting for child in parent\n");
#  348|       assert_wait_child(child_pid);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def16]
libuv-v1.51.0/test/test-fork.c:355:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe[1]’
libuv-v1.51.0/test/test-fork.c:300:1: enter_function: entry to ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:313:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:317:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:317:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:317:3: return_function: returning to ‘run_test_fork_signal_to_child_closed’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:319:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:327:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:329:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:331:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:331:6: branch_false: following ‘false’ branch (when ‘child_pid == 0’)...
libuv-v1.51.0/test/test-fork.c:351:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:351:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:352:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:353:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:354:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:355:5: danger: use of uninitialized value ‘sync_pipe[1]’ here
#  353|       ASSERT_NE(0, uv_loop_alive(uv_default_loop()));
#  354|       printf("Alerting parent in child\n");
#  355|->     ASSERT_EQ(1, write(sync_pipe[1], "1", 1)); /* alert parent */
#  356|       /* Don't run the loop. Wait for the parent to call us */
#  357|       printf("Waiting on parent in child\n");

Error: GCC_ANALYZER_WARNING (CWE-457): [#def17]
libuv-v1.51.0/test/test-fork.c:361:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘sync_pipe2[0]’
libuv-v1.51.0/test/test-fork.c:300:1: enter_function: entry to ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:313:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:314:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:317:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:317:3: call_function: calling ‘run_timer_loop_once’ from ‘run_test_fork_signal_to_child_closed’
libuv-v1.51.0/test/test-fork.c:317:3: return_function: returning to ‘run_test_fork_signal_to_child_closed’ from ‘run_timer_loop_once’
libuv-v1.51.0/test/test-fork.c:319:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:320:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:327:15: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:329:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:331:6: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:331:6: branch_false: following ‘false’ branch (when ‘child_pid == 0’)...
libuv-v1.51.0/test/test-fork.c:351:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:351:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:352:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:353:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:354:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:355:5: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fork.c:357:5: branch_false: ...to here
libuv-v1.51.0/test/test-fork.c:361:9: danger: use of uninitialized value ‘sync_pipe2[0]’ here
#  359|          and exited, so this ASSERT is generous.
#  360|       */
#  361|->     r = read(sync_pipe2[0], sync_buf, 1);
#  362|       ASSERT(-1 <= r && r <= 1);
#  363|       ASSERT_OK(fork_signal_cb_called);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def18]
libuv-v1.51.0/test/test-fs.c:4012:12: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘pipe_fds[doread]’
libuv-v1.51.0/test/test-fs.c:3991:3: branch_false: following ‘false’ branch (when ‘iovs’ is non-NULL)...
libuv-v1.51.0/test/test-fs.c:3993:13: branch_false: ...to here
libuv-v1.51.0/test/test-fs.c:3998:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fs.c:3999:12: branch_false: ...to here
libuv-v1.51.0/test/test-fs.c:4000:3: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
libuv-v1.51.0/test/test-fs.c:4000:3: branch_false: ...to here
libuv-v1.51.0/test/test-fs.c:4002:19: branch_true: following ‘true’ branch (when ‘index != 54321’)...
libuv-v1.51.0/test/test-fs.c:4003:40: branch_true: ...to here
libuv-v1.51.0/test/test-fs.c:4002:19: branch_true: following ‘true’ branch (when ‘index != 54321’)...
libuv-v1.51.0/test/test-fs.c:4003:40: branch_true: ...to here
libuv-v1.51.0/test/test-fs.c:4007:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fs.c:4008:3: branch_false: ...to here
libuv-v1.51.0/test/test-fs.c:4008:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fs.c:4010:3: branch_false: ...to here
libuv-v1.51.0/test/test-fs.c:4010:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-fs.c:4012:12: branch_false: ...to here
libuv-v1.51.0/test/test-fs.c:4012:12: danger: use of uninitialized value ‘pipe_fds[doread]’ here
# 4010|     ASSERT_OK(pipe(pipe_fds));
# 4011|   
# 4012|->   ctx.fd = pipe_fds[doread];
# 4013|     ASSERT_OK(uv_thread_create(&thread, thread_main, &ctx));
# 4014|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def19]
libuv-v1.51.0/test/test-iouring-pollhup.c:97:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘pipefds[0]’
libuv-v1.51.0/test/test-iouring-pollhup.c:91:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-iouring-pollhup.c:92:3: branch_false: ...to here
libuv-v1.51.0/test/test-iouring-pollhup.c:92:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-iouring-pollhup.c:93:3: branch_false: ...to here
libuv-v1.51.0/test/test-iouring-pollhup.c:93:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-iouring-pollhup.c:94:3: branch_false: ...to here
libuv-v1.51.0/test/test-iouring-pollhup.c:94:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-iouring-pollhup.c:95:3: branch_false: ...to here
libuv-v1.51.0/test/test-iouring-pollhup.c:95:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-iouring-pollhup.c:97:3: branch_false: ...to here
libuv-v1.51.0/test/test-iouring-pollhup.c:97:3: danger: use of uninitialized value ‘pipefds[0]’ here
#   95|     ASSERT_OK(pipe(newpipefds));
#   96|   
#   97|->   ASSERT_OK(uv_pipe_open(&p1, pipefds[0]));
#   98|     duped_fd = dup(pipefds[0]);
#   99|     ASSERT_NE(duped_fd, -1);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def20]
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:77:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘fd[1]’
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:64:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:69:9: branch_false: ...to here
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:72:6: branch_true: following ‘true’ branch (when ‘pid == 0’)...
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:77:5: branch_true: ...to here
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:77:5: danger: use of uninitialized value ‘fd[1]’ here
#   75|        * The write side will be closed by the parent process.
#   76|       */
#   77|->     close(fd[1]);
#   78|       /* block until write end of pipe is closed */
#   79|       r = read(fd[0], &buf, 1);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def21]
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:107:6: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘fd[1]’
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:64:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:69:9: branch_false: ...to here
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:72:6: branch_false: following ‘false’ branch (when ‘pid != 0’)...
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:107:6: branch_false: ...to here
libuv-v1.51.0/test/test-pipe-close-stdout-read-stdin.c:107:6: danger: use of uninitialized value ‘fd[1]’ here
#  105|        * the other end.
#  106|        */
#  107|->      close(fd[1]);
#  108|        close(fd[0]);
#  109|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def22]
libuv-v1.51.0/test/test-poll.c:112:3: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘create_bound_socket(addr)’
libuv-v1.51.0/test/test-poll.c:523:13: enter_function: entry to ‘start_server’
libuv-v1.51.0/test/test-poll.c:529:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-poll.c:530:10: branch_false: ...to here
libuv-v1.51.0/test/test-poll.c:530:10: call_function: calling ‘create_bound_socket’ from ‘start_server’
libuv-v1.51.0/test/test-poll.c:530:10: return_function: returning to ‘start_server’ from ‘create_bound_socket’
libuv-v1.51.0/test/test-poll.c:531:13: call_function: calling ‘create_server_context’ from ‘start_server’
libuv-v1.51.0/test/test-poll.c:531:13: return_function: returning to ‘start_server’ from ‘create_server_context’
libuv-v1.51.0/test/test-poll.c:112:3: danger: ‘create_bound_socket(addr)’ leaks here
#  110|     ASSERT_NE(sock, INVALID_SOCKET);
#  111|   #else
#  112|->   ASSERT_GE(sock, 0);
#  113|   #endif
#  114|   

Error: GCC_ANALYZER_WARNING: [#def23]
libuv-v1.51.0/test/test-poll.c:533:7: warning[-Wanalyzer-fd-use-without-check]: ‘listen’ on possibly invalid file descriptor ‘-1’
libuv-v1.51.0/test/test-poll.c:523:13: enter_function: entry to ‘start_server’
libuv-v1.51.0/test/test-poll.c:529:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-poll.c:530:10: branch_false: ...to here
libuv-v1.51.0/test/test-poll.c:530:10: call_function: calling ‘create_bound_socket’ from ‘start_server’
libuv-v1.51.0/test/test-poll.c:530:10: return_function: returning to ‘start_server’ from ‘create_bound_socket’
libuv-v1.51.0/test/test-poll.c:531:13: call_function: calling ‘create_server_context’ from ‘start_server’
libuv-v1.51.0/test/test-poll.c:531:13: return_function: returning to ‘start_server’ from ‘create_server_context’
libuv-v1.51.0/test/test-poll.c:533:7: danger: ‘-1’ could be invalid
#  531|     context = create_server_context(sock);
#  532|   
#  533|->   r = listen(sock, 100);
#  534|     ASSERT_OK(r);
#  535|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def24]
libuv-v1.51.0/test/test-signal-pending-on-close.c:75:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘pipefds[1]’
libuv-v1.51.0/test/test-signal-pending-on-close.c:65:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-signal-pending-on-close.c:67:3: branch_false: ...to here
libuv-v1.51.0/test/test-signal-pending-on-close.c:67:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-signal-pending-on-close.c:69:3: branch_false: ...to here
libuv-v1.51.0/test/test-signal-pending-on-close.c:69:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-signal-pending-on-close.c:71:3: branch_false: ...to here
libuv-v1.51.0/test/test-signal-pending-on-close.c:71:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-signal-pending-on-close.c:73:3: branch_false: ...to here
libuv-v1.51.0/test/test-signal-pending-on-close.c:73:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-signal-pending-on-close.c:75:3: branch_false: ...to here
libuv-v1.51.0/test/test-signal-pending-on-close.c:75:3: danger: use of uninitialized value ‘pipefds[1]’ here
#   73|     ASSERT_OK(uv_pipe_init(&loop, &pipe_hdl, 0));
#   74|   
#   75|->   ASSERT_OK(uv_pipe_open(&pipe_hdl, pipefds[1]));
#   76|   
#   77|     /* Write data large enough so it needs loop iteration */

Error: CPPCHECK_WARNING (CWE-457): [#def25]
libuv-v1.51.0/test/test-threadpool-cancel.c:220: error[uninitvar]: Uninitialized variable: &hints
#  218|     ASSERT_OK(r);
#  219|   
#  220|->   r = uv_getaddrinfo(loop, reqs + 3, getaddrinfo_cb, "fail", NULL, &hints);
#  221|     ASSERT_OK(r);
#  222|   

Error: GCC_ANALYZER_WARNING: [#def26]
libuv-v1.51.0/test/test-udp-open.c:326:3: warning[-Wanalyzer-fd-use-without-check]: ‘listen’ on possibly invalid file descriptor ‘fd’
libuv-v1.51.0/test/test-udp-open.c:318:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-udp-open.c:319:3: branch_false: ...to here
libuv-v1.51.0/test/test-udp-open.c:322:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-udp-open.c:324:3: branch_false: ...to here
libuv-v1.51.0/test/test-udp-open.c:325:3: branch_false: following ‘false’ branch...
libuv-v1.51.0/test/test-udp-open.c:326:3: branch_false: ...to here
libuv-v1.51.0/test/test-udp-open.c:326:3: danger: ‘fd’ could be invalid
#  324|     unlink(TEST_PIPENAME);
#  325|     ASSERT_OK(bind(fd, (const struct sockaddr*)&addr, sizeof addr));
#  326|->   ASSERT_OK(listen(fd, 1));
#  327|   
#  328|     r = uv_udp_init(loop, &handle);

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-182.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.20260524.213755.g3c6d0be.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namelibuv-1.52.1-1.fc45
diffbase-store-results-to/tmp/tmpm42r2daz/libuv-1.52.1-1.fc45.tar.xz
diffbase-time-created2026-06-01 14:59:09
diffbase-time-finished2026-06-01 15:01:10
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpm42r2daz/libuv-1.52.1-1.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpm42r2daz/libuv-1.52.1-1.fc45.src.rpm'
diffbase-tool-versioncsmock-3.8.5.20260529.133039.g6f3b5c6-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-182.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibuv-1.51.0-3.fc44
store-results-to/tmp/tmp4ifovbpm/libuv-1.51.0-3.fc44.tar.xz
time-created2026-06-01 14:56:25
time-finished2026-06-01 14:58:58
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmp4ifovbpm/libuv-1.51.0-3.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp4ifovbpm/libuv-1.51.0-3.fc44.src.rpm'
tool-versioncsmock-3.8.5.20260529.133039.g6f3b5c6-1.el9