userspace-rcu-0.15.5-1.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
userspace-rcu-0.15.5/include/urcu/futex.h:94:24: warning[-Wanalyzer-malloc-leak]: leak of ‘count_reader’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:574:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:584:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:586:9: branch_true: following ‘true’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: branch_true: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: call_function: calling ‘_urcu_qsbr_thread_offline’ from ‘main’
#   92|   		 * to signal restart bugs on some kernel versions.
#   93|   		 */
#   94|-> 		return compat_futex_async(uaddr, op, val, timeout,
#   95|   				uaddr2, val3);
#   96|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
userspace-rcu-0.15.5/include/urcu/futex.h:94:24: warning[-Wanalyzer-malloc-leak]: leak of ‘count_writer’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:574:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:584:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:586:9: branch_true: following ‘true’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: branch_true: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: call_function: calling ‘_urcu_qsbr_thread_offline’ from ‘main’
#   92|   		 * to signal restart bugs on some kernel versions.
#   93|   		 */
#   94|-> 		return compat_futex_async(uaddr, op, val, timeout,
#   95|   				uaddr2, val3);
#   96|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
userspace-rcu-0.15.5/include/urcu/futex.h:94:24: warning[-Wanalyzer-malloc-leak]: leak of ‘tid_reader’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:536:22: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:574:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:584:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:586:9: branch_true: following ‘true’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: branch_true: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: call_function: calling ‘_urcu_qsbr_thread_offline’ from ‘main’
#   92|   		 * to signal restart bugs on some kernel versions.
#   93|   		 */
#   94|-> 		return compat_futex_async(uaddr, op, val, timeout,
#   95|   				uaddr2, val3);
#   96|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def4]
userspace-rcu-0.15.5/include/urcu/futex.h:94:24: warning[-Wanalyzer-malloc-leak]: leak of ‘tid_writer’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:574:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:584:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:586:9: branch_true: following ‘true’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: branch_true: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:588:9: call_function: calling ‘_urcu_qsbr_thread_offline’ from ‘main’
#   92|   		 * to signal restart bugs on some kernel versions.
#   93|   		 */
#   94|-> 		return compat_futex_async(uaddr, op, val, timeout,
#   95|   				uaddr2, val3);
#   96|   	}

Error: GCC_ANALYZER_WARNING (CWE-131): [#def5]
userspace-rcu-0.15.5/include/urcu/rcuhlist.h:26:9: warning[-Wanalyzer-allocation-size]: allocated buffer size is not a multiple of the pointee's size
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:24:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:36:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:37:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:38:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:42:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:43:17: call_function: calling ‘cds_hlist_add_head_rcu’ from ‘main’
#   24|   {
#   25|   	newp->next = head->next;
#   26|-> 	newp->prev = (struct cds_hlist_node *)head;
#   27|   	if (head->next)
#   28|   		head->next->prev = newp;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
userspace-rcu-0.15.5/include/urcu/rcuhlist.h:29:9: warning[-Wanalyzer-malloc-leak]: leak of ‘node’
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:24:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:36:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:37:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:37:24: acquire_memory: allocated here
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:38:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:42:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/hlist/cds_hlist_add_head_rcu.c:43:17: call_function: calling ‘cds_hlist_add_head_rcu’ from ‘main’
#   27|   	if (head->next)
#   28|   		head->next->prev = newp;
#   29|-> 	rcu_assign_pointer(head->next, newp);
#   30|   }
#   31|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def7]
userspace-rcu-0.15.5/include/urcu/rculfhash.h:292:16: warning[-Wanalyzer-malloc-leak]: leak of ‘count_reader’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:562:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:571:33: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:569:27: call_function: inlined call to ‘cds_lfht_new’ from ‘main’
#  290|   			pthread_attr_t *attr)
#  291|   {
#  292|-> 	return _cds_lfht_new(init_size, min_nr_alloc_buckets, max_nr_buckets,
#  293|   			flags, NULL, &rcu_flavor, attr);
#  294|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def8]
userspace-rcu-0.15.5/include/urcu/rculfhash.h:292:16: warning[-Wanalyzer-malloc-leak]: leak of ‘count_writer’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:562:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:571:33: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:569:27: call_function: inlined call to ‘cds_lfht_new’ from ‘main’
#  290|   			pthread_attr_t *attr)
#  291|   {
#  292|-> 	return _cds_lfht_new(init_size, min_nr_alloc_buckets, max_nr_buckets,
#  293|   			flags, NULL, &rcu_flavor, attr);
#  294|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
userspace-rcu-0.15.5/include/urcu/rculfhash.h:292:16: warning[-Wanalyzer-malloc-leak]: leak of ‘tid_reader’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:536:22: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:562:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:571:33: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:569:27: call_function: inlined call to ‘cds_lfht_new’ from ‘main’
#  290|   			pthread_attr_t *attr)
#  291|   {
#  292|-> 	return _cds_lfht_new(init_size, min_nr_alloc_buckets, max_nr_buckets,
#  293|   			flags, NULL, &rcu_flavor, attr);
#  294|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
userspace-rcu-0.15.5/include/urcu/rculfhash.h:292:16: warning[-Wanalyzer-malloc-leak]: leak of ‘tid_writer’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:287:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:305:12: branch_false: following ‘false’ branch (when ‘argc > 3’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:311:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:312:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:318:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:319:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:325:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: following ‘false’ branch (when ‘err == 1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:326:12: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:492:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:497:26: call_function: inlined call to ‘get_sigusr1_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:500:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:506:26: call_function: inlined call to ‘get_sigusr2_cb’ from ‘main’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:509:12: branch_false: following ‘false’ branch (when ‘ret != -1’)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:515:9: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:537:12: branch_false: following ‘false’ branch (when ‘tid_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:541:22: acquire_memory: allocated here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:542:12: branch_false: following ‘false’ branch (when ‘tid_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:546:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:547:12: branch_false: following ‘false’ branch (when ‘count_reader’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:551:24: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:552:12: branch_false: following ‘false’ branch (when ‘count_writer’ is non-NULL)...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:557:15: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:562:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:571:33: branch_false: ...to here
userspace-rcu-0.15.5/tests/benchmark/test_urcu_hash.c:569:27: call_function: inlined call to ‘cds_lfht_new’ from ‘main’
#  290|   			pthread_attr_t *attr)
#  291|   {
#  292|-> 	return _cds_lfht_new(init_size, min_nr_alloc_buckets, max_nr_buckets,
#  293|   			flags, NULL, &rcu_flavor, attr);
#  294|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def11]
userspace-rcu-0.15.5/include/urcu/rculist.h:27:9: warning[-Wanalyzer-malloc-leak]: leak of ‘node’
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_rcu.c:24:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_rcu.c:36:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_rcu.c:37:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_rcu.c:37:24: acquire_memory: allocated here
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_rcu.c:38:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_rcu.c:42:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_rcu.c:43:17: call_function: inlined call to ‘cds_list_add_rcu’ from ‘main’
#   25|   	newp->prev = head;
#   26|   	head->next->prev = newp;
#   27|-> 	rcu_assign_pointer(head->next, newp);
#   28|   }
#   29|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
userspace-rcu-0.15.5/include/urcu/rculist.h:37:9: warning[-Wanalyzer-malloc-leak]: leak of ‘node’
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_tail_rcu.c:24:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_tail_rcu.c:36:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_tail_rcu.c:37:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_tail_rcu.c:37:24: acquire_memory: allocated here
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_tail_rcu.c:38:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_tail_rcu.c:42:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_add_tail_rcu.c:43:17: call_function: inlined call to ‘cds_list_add_tail_rcu’ from ‘main’
#   35|   	newp->next = head;
#   36|   	newp->prev = head->prev;
#   37|-> 	rcu_assign_pointer(head->prev->next, newp);
#   38|   	head->prev = newp;
#   39|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def13]
userspace-rcu-0.15.5/include/urcu/rculist.h:51:9: warning[-Wanalyzer-malloc-leak]: leak of ‘new_node’
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:33:5: enter_function: entry to ‘main’
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:45:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:46:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:47:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:51:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:45:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:46:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:47:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:51:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:45:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:46:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:47:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:51:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:45:21: branch_true: following ‘true’ branch (when ‘i != 4’)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:46:24: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:47:20: branch_false: following ‘false’ branch (when ‘node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:51:31: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:45:21: branch_false: following ‘false’ branch (when ‘i == 4’)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:62:9: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:62:9: branch_true: following ‘true’ branch...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:65:28: branch_true: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:65:28: acquire_memory: allocated here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:66:20: branch_false: following ‘false’ branch (when ‘new_node’ is non-NULL)...
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:71:36: branch_false: ...to here
userspace-rcu-0.15.5/doc/examples/list/cds_list_replace_rcu.c:72:17: call_function: calling ‘cds_list_replace_rcu’ from ‘main’
#   49|   	_new->next = old->next;
#   50|   	_new->prev = old->prev;
#   51|-> 	rcu_assign_pointer(_new->prev->next, _new);
#   52|   	_new->next->prev = _new;
#   53|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
userspace-rcu-0.15.5/include/urcu/static/rculfqueue.h:61:16: warning[-Wanalyzer-malloc-leak]: leak of 'dummy'
userspace-rcu-0.15.5/src/rculfqueue.c:24:6: enter_function: entry to 'cds_lfq_init_rcu'
userspace-rcu-0.15.5/src/rculfqueue.c:28:9: call_function: inlined call to '_cds_lfq_init_rcu' from 'cds_lfq_init_rcu'
#   59|   	dummy->parent.dummy = 1;
#   60|   	dummy->q = q;
#   61|-> 	return &dummy->parent;
#   62|   }
#   63|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
userspace-rcu-0.15.5/include/urcu/static/rculfqueue.h:61:16: warning[-Wanalyzer-malloc-leak]: leak of ‘dummy’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_lfq.c:222:6: enter_function: entry to ‘test_end’
userspace-rcu-0.15.5/tests/benchmark/test_urcu_lfq.c:227:25: call_function: calling ‘_cds_lfq_dequeue_rcu’ from ‘test_end’
#   59|   	dummy->parent.dummy = 1;
#   60|   	dummy->q = q;
#   61|-> 	return &dummy->parent;
#   62|   }
#   63|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
userspace-rcu-0.15.5/src/compat-smp.h:65:25: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(path)’
userspace-rcu-0.15.5/src/compat-smp.h:56:9: branch_true: following ‘true’ branch (when ‘path’ is non-NULL)...
userspace-rcu-0.15.5/src/compat-smp.h:58:18: branch_true: ...to here
userspace-rcu-0.15.5/src/compat-smp.h:58:18: acquire_memory: allocated here
userspace-rcu-0.15.5/src/compat-smp.h:59:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/src/compat-smp.h:59:12: branch_false: ...to here
userspace-rcu-0.15.5/src/compat-smp.h:65:25: throw: if ‘readdir’ throws an exception...
userspace-rcu-0.15.5/src/compat-smp.h:65:25: danger: ‘opendir(path)’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#   63|   	 * Iterate on all directories named "cpu" followed by an integer.
#   64|   	 */
#   65|-> 	while ((entry = readdir(cpudir))) {
#   66|   		if (entry->d_type == DT_DIR &&
#   67|   			strncmp(entry->d_name, "cpu", 3) == 0) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def17]
userspace-rcu-0.15.5/src/compat-smp.h:154:30: warning[-Wanalyzer-fd-leak]: leak of file descriptor 'open(path, 0)'
userspace-rcu-0.15.5/src/rculfhash.c:1644:18: enter_function: entry to '_cds_lfht_new_with_alloc'
userspace-rcu-0.15.5/src/rculfhash.c:1675:13: branch_false: following 'false' branch...
userspace-rcu-0.15.5/src/rculfhash.c:1678:13: branch_false: ...to here
userspace-rcu-0.15.5/src/rculfhash.c:1688:9: branch_true: following 'true' branch...
userspace-rcu-0.15.5/src/rculfhash.c:1689:9: branch_true: ...to here
userspace-rcu-0.15.5/src/rculfhash.c:1689:9: branch_true: following 'true' branch...
userspace-rcu-0.15.5/src/rculfhash.c:1690:9: branch_true: ...to here
userspace-rcu-0.15.5/src/rculfhash.c:1690:9: branch_true: following 'true' branch...
userspace-rcu-0.15.5/src/rculfhash.c:1692:9: branch_true: ...to here
userspace-rcu-0.15.5/src/rculfhash.c:1697:9: call_function: calling 'alloc_split_items_count' from '_cds_lfht_new_with_alloc'
#  152|   
#  153|   	do {
#  154|-> 		bytes_read = read(fd, buf + total_bytes_read,
#  155|   				max_bytes - total_bytes_read);
#  156|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def18]
userspace-rcu-0.15.5/src/compat-smp.h:154:30: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(path, 0)’
userspace-rcu-0.15.5/src/compat-smp.h:144:9: branch_true: following ‘true’ branch (when ‘path’ is non-NULL)...
userspace-rcu-0.15.5/src/compat-smp.h:146:12: branch_true: ...to here
userspace-rcu-0.15.5/src/compat-smp.h:146:12: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
userspace-rcu-0.15.5/src/compat-smp.h:149:14: branch_false: ...to here
userspace-rcu-0.15.5/src/compat-smp.h:149:14: acquire_resource: opened here
userspace-rcu-0.15.5/src/compat-smp.h:150:12: branch_false: following ‘false’ branch...
userspace-rcu-0.15.5/src/compat-smp.h:150:12: branch_false: ...to here
userspace-rcu-0.15.5/src/compat-smp.h:154:30: danger: ‘open(path, 0)’ leaks here; was opened at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#  152|   
#  153|   	do {
#  154|-> 		bytes_read = read(fd, buf + total_bytes_read,
#  155|   				max_bytes - total_bytes_read);
#  156|   

Error: GCC_ANALYZER_WARNING (CWE-1335): [#def19]
userspace-rcu-0.15.5/src/rculfhash.c:1472:26: warning[-Wanalyzer-shift-count-overflow]: shift by count ('4294967294') >= precision of type ('64')
userspace-rcu-0.15.5/src/rculfhash.c:2121:6: enter_function: entry to '_do_cds_lfht_shrink'
userspace-rcu-0.15.5/src/rculfhash.c:2127:21: call_function: calling 'cds_lfht_get_count_order_ulong' from '_do_cds_lfht_shrink'
userspace-rcu-0.15.5/src/rculfhash.c:2127:21: return_function: returning to '_do_cds_lfht_shrink' from 'cds_lfht_get_count_order_ulong'
userspace-rcu-0.15.5/src/rculfhash.c:2128:21: call_function: calling 'cds_lfht_get_count_order_ulong' from '_do_cds_lfht_shrink'
userspace-rcu-0.15.5/src/rculfhash.c:2128:21: return_function: returning to '_do_cds_lfht_shrink' from 'cds_lfht_get_count_order_ulong'
userspace-rcu-0.15.5/src/rculfhash.c:2131:9: branch_true: following 'true' branch (when 'new_size < old_size')...
userspace-rcu-0.15.5/src/rculfhash.c:2134:9: branch_true: ...to here
userspace-rcu-0.15.5/src/rculfhash.c:2134:9: call_function: calling 'fini_table' from '_do_cds_lfht_shrink'
# 1470|   			    unsigned long start, unsigned long len)
# 1471|   {
# 1472|-> 	unsigned long j, size = 1UL << (i - 1);
# 1473|   
# 1474|   	urcu_posix_assert(i > MIN_TABLE_ORDER);

Error: GCC_ANALYZER_WARNING (CWE-1335): [#def20]
userspace-rcu-0.15.5/src/rculfhash.c:1519:17: warning[-Wanalyzer-shift-count-overflow]: shift by count ('4294967294') >= precision of type ('64')
userspace-rcu-0.15.5/src/rculfhash.c:2121:6: enter_function: entry to '_do_cds_lfht_shrink'
userspace-rcu-0.15.5/src/rculfhash.c:2127:21: call_function: calling 'cds_lfht_get_count_order_ulong' from '_do_cds_lfht_shrink'
userspace-rcu-0.15.5/src/rculfhash.c:2127:21: return_function: returning to '_do_cds_lfht_shrink' from 'cds_lfht_get_count_order_ulong'
userspace-rcu-0.15.5/src/rculfhash.c:2128:21: call_function: calling 'cds_lfht_get_count_order_ulong' from '_do_cds_lfht_shrink'
userspace-rcu-0.15.5/src/rculfhash.c:2128:21: return_function: returning to '_do_cds_lfht_shrink' from 'cds_lfht_get_count_order_ulong'
userspace-rcu-0.15.5/src/rculfhash.c:2131:9: branch_true: following 'true' branch (when 'new_size < old_size')...
userspace-rcu-0.15.5/src/rculfhash.c:2134:9: branch_true: ...to here
userspace-rcu-0.15.5/src/rculfhash.c:2134:9: call_function: calling 'fini_table' from '_do_cds_lfht_shrink'
# 1517|   		unsigned long len;
# 1518|   
# 1519|-> 		len = 1UL << (i - 1);
# 1520|   		dbg_printf("fini order %ld len: %lu\n", i, len);
# 1521|   

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-163.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-nameuserspace-rcu-0.15.5-1.fc44
store-results-to/tmp/tmpkn8glin3/userspace-rcu-0.15.5-1.fc44.tar.xz
time-created2026-01-08 21:56:40
time-finished2026-01-08 21:58:36
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpkn8glin3/userspace-rcu-0.15.5-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpkn8glin3/userspace-rcu-0.15.5-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9