Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/pmdk-1.10/src/include/libpmem2.h Examining data/pmdk-1.10/src/include/libpmemlog.h Examining data/pmdk-1.10/src/include/libpmemobj.h Examining data/pmdk-1.10/src/include/libpmemblk.h Examining data/pmdk-1.10/src/include/libpmempool.h Examining data/pmdk-1.10/src/include/pmemcompat.h Examining data/pmdk-1.10/src/include/libpmemobj/tx_base.h Examining data/pmdk-1.10/src/include/libpmemobj/thread.h Examining data/pmdk-1.10/src/include/libpmemobj/pool_base.h Examining data/pmdk-1.10/src/include/libpmemobj/pool.h Examining data/pmdk-1.10/src/include/libpmemobj/lists_atomic.h Examining data/pmdk-1.10/src/include/libpmemobj/action_base.h Examining data/pmdk-1.10/src/include/libpmemobj/action.h Examining data/pmdk-1.10/src/include/libpmemobj/atomic_base.h Examining data/pmdk-1.10/src/include/libpmemobj/iterator.h Examining data/pmdk-1.10/src/include/libpmemobj/types.h Examining data/pmdk-1.10/src/include/libpmemobj/iterator_base.h Examining data/pmdk-1.10/src/include/libpmemobj/atomic.h Examining data/pmdk-1.10/src/include/libpmemobj/base.h Examining data/pmdk-1.10/src/include/libpmemobj/lists_atomic_base.h Examining data/pmdk-1.10/src/include/libpmemobj/ctl.h Examining data/pmdk-1.10/src/include/libpmemobj/tx.h Examining data/pmdk-1.10/src/include/libpmem.h Examining data/pmdk-1.10/src/include/librpmem.h Examining data/pmdk-1.10/src/core/os.h Examining data/pmdk-1.10/src/core/valgrind_internal.h Examining data/pmdk-1.10/src/core/os_posix.c Examining data/pmdk-1.10/src/core/os_thread_posix.c Examining data/pmdk-1.10/src/core/out.h Examining data/pmdk-1.10/src/core/fs_posix.c Examining data/pmdk-1.10/src/core/fs.h Examining data/pmdk-1.10/src/core/util_posix.c Examining data/pmdk-1.10/src/core/alloc.h Examining data/pmdk-1.10/src/core/util.c Examining data/pmdk-1.10/src/core/os_thread.h Examining data/pmdk-1.10/src/core/valgrind/helgrind.h Examining data/pmdk-1.10/src/core/valgrind/pmemcheck.h Examining data/pmdk-1.10/src/core/valgrind/drd.h Examining data/pmdk-1.10/src/core/valgrind/valgrind.h Examining data/pmdk-1.10/src/core/valgrind/memcheck.h Examining data/pmdk-1.10/src/core/util.h Examining data/pmdk-1.10/src/core/fs_windows.c Examining data/pmdk-1.10/src/core/alloc.c Examining data/pmdk-1.10/src/core/out.c Examining data/pmdk-1.10/src/core/os_thread_windows.c Examining data/pmdk-1.10/src/core/util_windows.c Examining data/pmdk-1.10/src/core/os_windows.c Examining data/pmdk-1.10/src/core/pmemcore.h Examining data/pmdk-1.10/src/core/fault_injection.h Examining data/pmdk-1.10/src/core/errno_freebsd.h Examining data/pmdk-1.10/src/freebsd/include/endian.h Examining data/pmdk-1.10/src/freebsd/include/linux/limits.h Examining data/pmdk-1.10/src/freebsd/include/linux/kdev_t.h Examining data/pmdk-1.10/src/freebsd/include/sys/sysmacros.h Examining data/pmdk-1.10/src/freebsd/include/features.h Examining data/pmdk-1.10/src/examples/ex_common.h Examining data/pmdk-1.10/src/examples/pmreorder/pmreorder_list.c Examining data/pmdk-1.10/src/examples/libpmem/simple_copy.c Examining data/pmdk-1.10/src/examples/libpmem/full_copy.c Examining data/pmdk-1.10/src/examples/libpmem/manpage.c Examining data/pmdk-1.10/src/examples/libpmem2/basic/basic.c Examining data/pmdk-1.10/src/examples/libpmem2/map_multiple_files/map_multiple_files.c Examining data/pmdk-1.10/src/examples/libpmem2/redo/redo.c Examining data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c Examining data/pmdk-1.10/src/examples/libpmem2/log/log.c Examining data/pmdk-1.10/src/examples/libpmem2/advanced/advanced.c Examining data/pmdk-1.10/src/examples/libpmemblk/manpage.c Examining data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_list.c Examining data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset.h Examining data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_checkin.c Examining data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_checkout.c Examining data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_load.c Examining data/pmdk-1.10/src/examples/libpmemobj/pmemblk/obj_pmemblk.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_rtree.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_rbtree.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_hashmap_rp.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_hashmap_atomic.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_hashmap_tx.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_hashmap_atomic.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_rtree.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_hashmap_tx.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_ctree.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_ctree.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/kv_protocol.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/data_store.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_rbtree.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_skiplist.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_skiplist.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_hashmap_rp.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_btree.h Examining data/pmdk-1.10/src/examples/libpmemobj/map/map.c Examining data/pmdk-1.10/src/examples/libpmemobj/map/map_btree.c Examining data/pmdk-1.10/src/examples/libpmemobj/setjmp.c Examining data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_simple.c Examining data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_macros.c Examining data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog.c Examining data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_minimal.c Examining data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c Examining data/pmdk-1.10/src/examples/libpmemobj/buffons_needle_problem.c Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/ctree_map.c Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/btree_map.c Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/rbtree_map.h Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/rtree_map.h Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/ctree_map.h Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/rtree_map.c Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/rbtree_map.c Examining data/pmdk-1.10/src/examples/libpmemobj/tree_map/btree_map.h Examining data/pmdk-1.10/src/examples/libpmemobj/linkedlist/pmemobj_list.h Examining data/pmdk-1.10/src/examples/libpmemobj/linkedlist/fifo.c Examining data/pmdk-1.10/src/examples/libpmemobj/list_map/skiplist_map.h Examining data/pmdk-1.10/src/examples/libpmemobj/list_map/skiplist_map.c Examining data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/writer.c Examining data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/layout.h Examining data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/reader.c Examining data/pmdk-1.10/src/examples/libpmemobj/string_store_tx_type/writer.c Examining data/pmdk-1.10/src/examples/libpmemobj/string_store_tx_type/layout.h Examining data/pmdk-1.10/src/examples/libpmemobj/string_store_tx_type/reader.c Examining data/pmdk-1.10/src/examples/libpmemobj/lists.c Examining data/pmdk-1.10/src/examples/libpmemobj/btree.c Examining data/pmdk-1.10/src/examples/libpmemobj/pi.c Examining data/pmdk-1.10/src/examples/libpmemobj/array/array.c Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_atomic.c Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_rp.c Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_rp.h Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_atomic.h Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_tx.h Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_internal.h Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_tx.c Examining data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap.h Examining data/pmdk-1.10/src/examples/libpmemobj/string_store/writer.c Examining data/pmdk-1.10/src/examples/libpmemobj/string_store/layout.h Examining data/pmdk-1.10/src/examples/libpmemobj/string_store/reader.c Examining data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders.c Examining data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders2.c Examining data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.h Examining data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.h Examining data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c Examining data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.c Examining data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_examine.c Examining data/pmdk-1.10/src/examples/libpmemobj/libart/art.c Examining data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_search.c Examining data/pmdk-1.10/src/examples/libpmemobj/libart/art.h Examining data/pmdk-1.10/src/examples/libpmemobj/manpage.c Examining data/pmdk-1.10/src/examples/libpmemobj/queue/queue.c Examining data/pmdk-1.10/src/examples/libpmemobj/slab_allocator/main.c Examining data/pmdk-1.10/src/examples/libpmemobj/slab_allocator/slab_allocator.c Examining data/pmdk-1.10/src/examples/libpmemobj/slab_allocator/slab_allocator.h Examining data/pmdk-1.10/src/examples/libpmempool/manpage.c Examining data/pmdk-1.10/src/examples/librpmem/fibonacci/fibonacci.c Examining data/pmdk-1.10/src/examples/librpmem/basic.c Examining data/pmdk-1.10/src/examples/librpmem/hello.c Examining data/pmdk-1.10/src/examples/librpmem/manpage.c Examining data/pmdk-1.10/src/examples/libpmemlog/logfile/addlog.c Examining data/pmdk-1.10/src/examples/libpmemlog/logfile/printlog.c Examining data/pmdk-1.10/src/examples/libpmemlog/logfile/logentry.h Examining data/pmdk-1.10/src/examples/libpmemlog/manpage.c Examining data/pmdk-1.10/src/benchmarks/obj_pmalloc.cpp Examining data/pmdk-1.10/src/benchmarks/config_reader.hpp Examining data/pmdk-1.10/src/benchmarks/scenario.hpp Examining data/pmdk-1.10/src/benchmarks/pmemobj_persist.cpp Examining data/pmdk-1.10/src/benchmarks/pmemobj_tx_add_range.cpp Examining data/pmdk-1.10/src/benchmarks/config_reader.cpp Examining data/pmdk-1.10/src/benchmarks/benchmark_time.hpp Examining data/pmdk-1.10/src/benchmarks/benchmark_worker.hpp Examining data/pmdk-1.10/src/benchmarks/benchmark_empty.cpp Examining data/pmdk-1.10/src/benchmarks/pmembench.cpp Examining data/pmdk-1.10/src/benchmarks/rpmem.cpp Examining data/pmdk-1.10/src/benchmarks/pmemobj_atomic_lists.cpp Examining data/pmdk-1.10/src/benchmarks/pmemobj_gen.cpp Examining data/pmdk-1.10/src/benchmarks/obj_locks.cpp Examining data/pmdk-1.10/src/benchmarks/map_bench.cpp Examining data/pmdk-1.10/src/benchmarks/scenario.cpp Examining data/pmdk-1.10/src/benchmarks/pmem_memcpy.cpp Examining data/pmdk-1.10/src/benchmarks/pmem_memset.cpp Examining data/pmdk-1.10/src/benchmarks/clo.cpp Examining data/pmdk-1.10/src/benchmarks/benchmark.hpp Examining data/pmdk-1.10/src/benchmarks/blk.cpp Examining data/pmdk-1.10/src/benchmarks/pmemobj_tx.cpp Examining data/pmdk-1.10/src/benchmarks/log.cpp Examining data/pmdk-1.10/src/benchmarks/config_reader_win.cpp Examining data/pmdk-1.10/src/benchmarks/benchmark_time.cpp Examining data/pmdk-1.10/src/benchmarks/poolset_util.hpp Examining data/pmdk-1.10/src/benchmarks/benchmark_worker.cpp Examining data/pmdk-1.10/src/benchmarks/clo.hpp Examining data/pmdk-1.10/src/benchmarks/clo_vec.hpp Examining data/pmdk-1.10/src/benchmarks/clo_vec.cpp Examining data/pmdk-1.10/src/benchmarks/obj_lanes.cpp Examining data/pmdk-1.10/src/benchmarks/pmem_flush.cpp Examining data/pmdk-1.10/src/benchmarks/poolset_util.cpp Examining data/pmdk-1.10/src/libpmem/pmem.h Examining data/pmdk-1.10/src/libpmem/pmem_windows.c Examining data/pmdk-1.10/src/libpmem/libpmem.c Examining data/pmdk-1.10/src/libpmem/pmem_posix.c Examining data/pmdk-1.10/src/libpmem/libpmem_main.c Examining data/pmdk-1.10/src/libpmem/pmem.c Examining data/pmdk-1.10/src/libpmem2/vm_reservation_posix.c Examining data/pmdk-1.10/src/libpmem2/usc_windows.c Examining data/pmdk-1.10/src/libpmem2/libpmem2.c Examining data/pmdk-1.10/src/libpmem2/region_namespace.h Examining data/pmdk-1.10/src/libpmem2/source.h Examining data/pmdk-1.10/src/libpmem2/pmem2.h Examining data/pmdk-1.10/src/libpmem2/usc_none.c Examining data/pmdk-1.10/src/libpmem2/ppc64/init.c Examining data/pmdk-1.10/src/libpmem2/map.h Examining data/pmdk-1.10/src/libpmem2/auto_flush_windows.h Examining data/pmdk-1.10/src/libpmem2/config.c Examining data/pmdk-1.10/src/libpmem2/pmem2_arch.h Examining data/pmdk-1.10/src/libpmem2/aarch64/flush.h Examining data/pmdk-1.10/src/libpmem2/aarch64/arm_cacheops.h Examining data/pmdk-1.10/src/libpmem2/aarch64/init.c Examining data/pmdk-1.10/src/libpmem2/map_windows.c Examining data/pmdk-1.10/src/libpmem2/auto_flush_none.c Examining data/pmdk-1.10/src/libpmem2/deep_flush.c Examining data/pmdk-1.10/src/libpmem2/source.c Examining data/pmdk-1.10/src/libpmem2/errormsg.c Examining data/pmdk-1.10/src/libpmem2/pmem2_utils.h Examining data/pmdk-1.10/src/libpmem2/auto_flush_windows.c Examining data/pmdk-1.10/src/libpmem2/auto_flush_linux.c Examining data/pmdk-1.10/src/libpmem2/vm_reservation.h Examining data/pmdk-1.10/src/libpmem2/ravl_interval.c Examining data/pmdk-1.10/src/libpmem2/source_posix.c Examining data/pmdk-1.10/src/libpmem2/pmem2_utils_ndctl.c Examining data/pmdk-1.10/src/libpmem2/auto_flush.h Examining data/pmdk-1.10/src/libpmem2/badblocks_none.c Examining data/pmdk-1.10/src/libpmem2/persist_windows.c Examining data/pmdk-1.10/src/libpmem2/deep_flush_linux.c Examining data/pmdk-1.10/src/libpmem2/region_namespace_none.c Examining data/pmdk-1.10/src/libpmem2/region_namespace_ndctl.h Examining data/pmdk-1.10/src/libpmem2/extent_linux.c Examining data/pmdk-1.10/src/libpmem2/extent_none.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_nt_avx.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_nt_avx512f.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_sse2.h Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_avx512f.h Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_t_avx512f.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_nt_sse2.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_t_avx.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_avx.h Examining data/pmdk-1.10/src/libpmem2/x86_64/memset/memset_t_sse2.c Examining data/pmdk-1.10/src/libpmem2/x86_64/avx.h Examining data/pmdk-1.10/src/libpmem2/x86_64/flush.h Examining data/pmdk-1.10/src/libpmem2/x86_64/cpu.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_t_avx512f.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_t_avx.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_avx.h Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_nt_avx.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_t_sse2.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_sse2.h Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_avx512f.h Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_nt_avx512f.c Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy/memcpy_nt_sse2.c Examining data/pmdk-1.10/src/libpmem2/x86_64/cpu.h Examining data/pmdk-1.10/src/libpmem2/x86_64/memcpy_memset.h Examining data/pmdk-1.10/src/libpmem2/x86_64/init.c Examining data/pmdk-1.10/src/libpmem2/persist.h Examining data/pmdk-1.10/src/libpmem2/persist.c Examining data/pmdk-1.10/src/libpmem2/source_windows.c Examining data/pmdk-1.10/src/libpmem2/badblocks.c Examining data/pmdk-1.10/src/libpmem2/usc_ndctl.c Examining data/pmdk-1.10/src/libpmem2/extent.h Examining data/pmdk-1.10/src/libpmem2/pmem2_utils_none.c Examining data/pmdk-1.10/src/libpmem2/badblocks_ndctl.c Examining data/pmdk-1.10/src/libpmem2/map_posix.c Examining data/pmdk-1.10/src/libpmem2/deep_flush_windows.c Examining data/pmdk-1.10/src/libpmem2/ravl_interval.h Examining data/pmdk-1.10/src/libpmem2/deep_flush.h Examining data/pmdk-1.10/src/libpmem2/libpmem2_main.c Examining data/pmdk-1.10/src/libpmem2/pmem2_utils_linux.c Examining data/pmdk-1.10/src/libpmem2/persist_posix.c Examining data/pmdk-1.10/src/libpmem2/memops_generic.c Examining data/pmdk-1.10/src/libpmem2/pmem2_utils.c Examining data/pmdk-1.10/src/libpmem2/vm_reservation_windows.c Examining data/pmdk-1.10/src/libpmem2/config.h Examining data/pmdk-1.10/src/libpmem2/region_namespace_ndctl.c Examining data/pmdk-1.10/src/libpmem2/deep_flush_other.c Examining data/pmdk-1.10/src/libpmem2/map.c Examining data/pmdk-1.10/src/libpmem2/vm_reservation.c Examining data/pmdk-1.10/src/libpmem2/pmem2_utils_other.c Examining data/pmdk-1.10/src/test/blk_pool_lock/blk_pool_lock.c Examining data/pmdk-1.10/src/test/obj_recovery/obj_recovery.c Examining data/pmdk-1.10/src/test/pmem2_persist_valgrind/pmem2_persist_valgrind.c Examining data/pmdk-1.10/src/test/obj_pool_win/obj_pool_win.c Examining data/pmdk-1.10/src/test/obj_many_size_allocs/obj_many_size_allocs.c Examining data/pmdk-1.10/src/test/pmem_memcpy/pmem_memcpy.c Examining data/pmdk-1.10/src/test/log_recovery/log_recovery.c Examining data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c Examining data/pmdk-1.10/src/test/util_ctl/util_ctl.c Examining data/pmdk-1.10/src/test/libpmempool_check_version/libpmempool_check_version.c Examining data/pmdk-1.10/src/test/pmem2_perror/pmem2_perror.c Examining data/pmdk-1.10/src/test/obj_pmemcheck/obj_pmemcheck.c Examining data/pmdk-1.10/src/test/pmem2_persist/pmem2_persist.c Examining data/pmdk-1.10/src/test/util_pool_hdr/util_pool_hdr.c Examining data/pmdk-1.10/src/test/obj_tx_locks_abort/obj_tx_locks_abort.c Examining data/pmdk-1.10/src/test/obj_tx_lock/obj_tx_lock.c Examining data/pmdk-1.10/src/test/obj_tx_user_data/obj_tx_user_data.c Examining data/pmdk-1.10/src/test/util_file_create/util_file_create.c Examining data/pmdk-1.10/src/test/obj_toid/obj_toid.c Examining data/pmdk-1.10/src/test/out_err_mt_win/out_err_mt_win.c Examining data/pmdk-1.10/src/test/util_vecq/util_vecq.c Examining data/pmdk-1.10/src/test/pmem_map_file_win/mocks_windows.c Examining data/pmdk-1.10/src/test/pmem_map_file_win/mocks_windows.h Examining data/pmdk-1.10/src/test/pmem_map_file_win/pmem_map_file_win.c Examining data/pmdk-1.10/src/test/util_is_zeroed/util_is_zeroed.c Examining data/pmdk-1.10/src/test/win_signal/win_signal.c Examining data/pmdk-1.10/src/test/win_lists/win_lists.c Examining data/pmdk-1.10/src/test/log_pool_lock/log_pool_lock.c Examining data/pmdk-1.10/src/test/out_err_mt/out_err_mt.c Examining data/pmdk-1.10/src/test/util_cpuid/util_cpuid.c Examining data/pmdk-1.10/src/test/obj_constructor/obj_constructor.c Examining data/pmdk-1.10/src/test/util_ravl/util_ravl.c Examining data/pmdk-1.10/src/test/obj_first_next/obj_first_next.c Examining data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c Examining data/pmdk-1.10/src/test/pmem2_badblock_mocks/pmem2_badblock_mocks.c Examining data/pmdk-1.10/src/test/pmem2_badblock_mocks/mocks_other.c Examining data/pmdk-1.10/src/test/pmem2_badblock_mocks/pmem2_badblock_mocks.h Examining data/pmdk-1.10/src/test/pmem2_badblock_mocks/mocks_pmem2.c Examining data/pmdk-1.10/src/test/pmem2_badblock_mocks/mocks_ndctl.c Examining data/pmdk-1.10/src/test/log_include/log_include.c Examining data/pmdk-1.10/src/test/obj_ctl_alignment/obj_ctl_alignment.c Examining data/pmdk-1.10/src/test/obj_list/obj_list.c Examining data/pmdk-1.10/src/test/obj_list/mocks_windows.h Examining data/pmdk-1.10/src/test/obj_list/obj_list_mocks.c Examining data/pmdk-1.10/src/test/obj_list/obj_list.h Examining data/pmdk-1.10/src/test/obj_list/obj_list_mocks_palloc.c Examining data/pmdk-1.10/src/test/set_funcs/set_funcs.c Examining data/pmdk-1.10/src/test/log_pool/log_pool.c Examining data/pmdk-1.10/src/test/rpmem_addr/rpmem_addr.c Examining data/pmdk-1.10/src/test/pmem_map_file/mocks_windows.c Examining data/pmdk-1.10/src/test/pmem_map_file/mocks_windows.h Examining data/pmdk-1.10/src/test/pmem_map_file/pmem_map_file.c Examining data/pmdk-1.10/src/test/pmem_map_file/mocks_posix.c Examining data/pmdk-1.10/src/test/win_poolset_unmap/win_poolset_unmap.c Examining data/pmdk-1.10/src/test/util_vec/util_vec.c Examining data/pmdk-1.10/src/test/libpmempool_rm_win/libpmempool_rm_win.c Examining data/pmdk-1.10/src/test/pmem2_map_from_existing/pmem2_map_from_existing.c Examining data/pmdk-1.10/src/test/obj_ctl_alloc_class/obj_ctl_alloc_class.c Examining data/pmdk-1.10/src/test/util_map_proc/util_map_proc.c Examining data/pmdk-1.10/src/test/pmem_map_file_trunc/pmem_map_file_trunc.c Examining data/pmdk-1.10/src/test/remote_basic/remote_basic.c Examining data/pmdk-1.10/src/test/pmem_movnt_align/pmem_movnt_align.c Examining data/pmdk-1.10/src/test/obj_tx_invalid/obj_tx_invalid.c Examining data/pmdk-1.10/src/test/unittest/ut.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_setup_integration.h Examining data/pmdk-1.10/src/test/unittest/ut_signal.c Examining data/pmdk-1.10/src/test/unittest/ut_file.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_setup.h Examining data/pmdk-1.10/src/test/unittest/ut_backtrace.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_config.c Examining data/pmdk-1.10/src/test/unittest/ut_fh.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_source.h Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_utils.c Examining data/pmdk-1.10/src/test/unittest/ut_pthread.c Examining data/pmdk-1.10/src/test/unittest/ut_alloc.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_map.h Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_map.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_setup_integration.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2.h Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_setup.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_utils.h Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_source.c Examining data/pmdk-1.10/src/test/unittest/ut_pmem2_config.h Examining data/pmdk-1.10/src/test/unittest/ut_fh.h Examining data/pmdk-1.10/src/test/unittest/unittest.h Examining data/pmdk-1.10/src/test/obj_list_macro/obj_list_macro.c Examining data/pmdk-1.10/src/test/obj_recreate/obj_recreate.c Examining data/pmdk-1.10/src/test/pmreorder_flushes/pmreorder_flushes.c Examining data/pmdk-1.10/src/test/pmem_is_pmem_windows/pmem_is_pmem_windows.c Examining data/pmdk-1.10/src/test/obj_lane/obj_lane.c Examining data/pmdk-1.10/src/test/obj_direct/obj_direct.h Examining data/pmdk-1.10/src/test/obj_direct/obj_direct.c Examining data/pmdk-1.10/src/test/obj_direct/obj_direct_inline.c Examining data/pmdk-1.10/src/test/obj_direct/obj_direct_non_inline.c Examining data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c Examining data/pmdk-1.10/src/test/obj_realloc/obj_realloc.c Examining data/pmdk-1.10/src/test/pmem_has_auto_flush/pmem_has_auto_flush.c Examining data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c Examining data/pmdk-1.10/src/test/obj_extend/obj_extend.c Examining data/pmdk-1.10/src/test/pmem2_movnt_align/movnt_align_common.c Examining data/pmdk-1.10/src/test/pmem2_movnt_align/movnt_align_common.h Examining data/pmdk-1.10/src/test/pmem2_movnt_align/pmem2_movnt_align.c Examining data/pmdk-1.10/src/test/win_mmap_dtor/win_mmap_dtor.c Examining data/pmdk-1.10/src/test/obj_pool/obj_pool.c Examining data/pmdk-1.10/src/test/pmem_movnt/pmem_movnt.c Examining data/pmdk-1.10/src/test/obj_pmalloc_oom_mt/obj_pmalloc_oom_mt.c Examining data/pmdk-1.10/src/test/obj_check/obj_check.c Examining data/pmdk-1.10/src/test/remote_obj_basic/remote_obj_basic.c Examining data/pmdk-1.10/src/test/util_poolset_size/util_poolset_size.c Examining data/pmdk-1.10/src/test/rpmem_proto/rpmem_proto.c Examining data/pmdk-1.10/src/test/blk_pool_win/blk_pool_win.c Examining data/pmdk-1.10/src/test/obj_ctl_arenas/obj_ctl_arenas.c Examining data/pmdk-1.10/src/test/out_err/out_err.c Examining data/pmdk-1.10/src/test/blk_rw_mt/blk_rw_mt.c Examining data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c Examining data/pmdk-1.10/src/test/rpmemd_config/rpmemd_config_test.c Examining data/pmdk-1.10/src/test/obj_pmalloc_rand_mt/obj_pmalloc_rand_mt.c Examining data/pmdk-1.10/src/test/util_poolset_parse/util_poolset_parse.c Examining data/pmdk-1.10/src/test/obj_strdup/obj_strdup.c Examining data/pmdk-1.10/src/test/pmem2_deep_flush/pmem2_deep_flush.c Examining data/pmdk-1.10/src/test/obj_heap_state/obj_heap_state.c Examining data/pmdk-1.10/src/test/pmem2_vm_reservation/pmem2_vm_reservation.c Examining data/pmdk-1.10/src/test/rpmem_obc_int/rpmem_obc_int.c Examining data/pmdk-1.10/src/test/obj_tx_strdup/obj_tx_strdup.c Examining data/pmdk-1.10/src/test/checksum/checksum.c Examining data/pmdk-1.10/src/test/util_poolset_foreach/util_poolset_foreach.c Examining data/pmdk-1.10/src/test/mmap_fixed/mmap_fixed.c Examining data/pmdk-1.10/src/test/obj_tx_free/obj_tx_free.c Examining data/pmdk-1.10/src/test/obj_defrag/obj_defrag.c Examining data/pmdk-1.10/src/test/obj_tx_add_range/obj_tx_add_range.c Examining data/pmdk-1.10/src/test/obj_pool_lock/obj_pool_lock.c Examining data/pmdk-1.10/src/test/obj_ctl_debug/obj_ctl_debug.c Examining data/pmdk-1.10/src/test/obj_ctl_heap_size/obj_ctl_heap_size.c Examining data/pmdk-1.10/src/test/pmem_is_pmem/pmem_is_pmem.c Examining data/pmdk-1.10/src/test/obj_reorder_basic/obj_reorder_basic.c Examining data/pmdk-1.10/src/test/libpmempool_api_win/libpmempool_test_win.c Examining data/pmdk-1.10/src/test/signal_handle/signal_handle.c Examining data/pmdk-1.10/src/test/rpmemd_util/rpmemd_util_test.c Examining data/pmdk-1.10/src/test/obj_tx_callbacks/obj_tx_callbacks.c Examining data/pmdk-1.10/src/test/libpmempool_transform/libpmempool_transform.c Examining data/pmdk-1.10/src/test/util_extent/util_extent.c Examining data/pmdk-1.10/src/test/pmem_deep_persist/mocks_posix.c Examining data/pmdk-1.10/src/test/pmem_deep_persist/pmem_deep_persist.c Examining data/pmdk-1.10/src/test/pmem2_source_alignment/pmem2_source_alignment.c Examining data/pmdk-1.10/src/test/obj_ulog_size/obj_ulog_size.c Examining data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_oob.h Examining data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_oob.c Examining data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_test.c Examining data/pmdk-1.10/src/test/libpmempool_sync_win/libpmempool_sync_win.c Examining data/pmdk-1.10/src/test/obj_badblock/obj_badblock.c Examining data/pmdk-1.10/src/test/blk_pool/blk_pool.c Examining data/pmdk-1.10/src/test/util_badblock/util_badblock.c Examining data/pmdk-1.10/src/test/obj_sync/mocks_windows.c Examining data/pmdk-1.10/src/test/obj_sync/mocks_windows.h Examining data/pmdk-1.10/src/test/obj_sync/mocks_posix.c Examining data/pmdk-1.10/src/test/obj_sync/obj_sync.c Examining data/pmdk-1.10/src/test/obj_memcheck/obj_memcheck.c Examining data/pmdk-1.10/src/test/util_uuid_generate/util_uuid_generate.c Examining data/pmdk-1.10/src/test/pmem2_memcpy/memcpy_common.c Examining data/pmdk-1.10/src/test/pmem2_memcpy/memcpy_common.h Examining data/pmdk-1.10/src/test/pmem2_memcpy/pmem2_memcpy.c Examining data/pmdk-1.10/src/test/pmem_has_auto_flush_win/mocks_windows.c Examining data/pmdk-1.10/src/test/pmem_has_auto_flush_win/mocks_windows.h Examining data/pmdk-1.10/src/test/pmem_has_auto_flush_win/pmem_has_auto_flush_win.c Examining data/pmdk-1.10/src/test/pmem_has_auto_flush_win/pmem_has_auto_flush_win.h Examining data/pmdk-1.10/src/test/pmem2_compat/pmem2_compat.c Examining data/pmdk-1.10/src/test/obj_fragmentation2/obj_fragmentation2.c Examining data/pmdk-1.10/src/test/obj_ctl_stats/obj_ctl_stats.c Examining data/pmdk-1.10/src/test/pmem2_granularity/pmem2_granularity.c Examining data/pmdk-1.10/src/test/pmem2_granularity/mocks_dax_windows.h Examining data/pmdk-1.10/src/test/pmem2_granularity/mocks_posix.c Examining data/pmdk-1.10/src/test/pmem2_granularity/pmem2_granularity.h Examining data/pmdk-1.10/src/test/pmem2_granularity/mocks_dax_windows.c Examining data/pmdk-1.10/src/test/arch_flags/arch_flags.c Examining data/pmdk-1.10/src/test/blk_non_zero/blk_non_zero.c Examining data/pmdk-1.10/src/test/obj_basic_integration/obj_basic_integration.c Examining data/pmdk-1.10/src/test/libpmempool_sync/libpmempool_sync.c Examining data/pmdk-1.10/src/test/obj_locks/obj_locks.c Examining data/pmdk-1.10/src/test/traces_pmem/traces_pmem.c Examining data/pmdk-1.10/src/test/obj_action/obj_action.c Examining data/pmdk-1.10/src/test/obj_pmalloc_mt/obj_pmalloc_mt.c Examining data/pmdk-1.10/src/test/pmem_memmove/pmem_memmove.c Examining data/pmdk-1.10/src/test/pmem2_mem_ext/pmem2_mem_ext.c Examining data/pmdk-1.10/src/test/pmem2_movnt/pmem2_movnt.c Examining data/pmdk-1.10/src/test/obj_alloc/obj_alloc.c Examining data/pmdk-1.10/src/test/obj_persist_count/obj_persist_count.c Examining data/pmdk-1.10/src/test/obj_persist_count/mocks_windows.h Examining data/pmdk-1.10/src/test/obj_tx_flow/obj_tx_flow.c Examining data/pmdk-1.10/src/test/util_parse_size/util_parse_size.c Examining data/pmdk-1.10/src/test/mmap/mmap.c Examining data/pmdk-1.10/src/test/pmem2_config/pmem2_config.c Examining data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c Examining data/pmdk-1.10/src/test/ex_linkedlist/ex_linkedlist.c Examining data/pmdk-1.10/src/test/obj_oid_thread/obj_oid_thread.c Examining data/pmdk-1.10/src/test/obj_ctl_alloc_class_config/obj_ctl_alloc_class_config.c Examining data/pmdk-1.10/src/test/win_common/win_common.c Examining data/pmdk-1.10/src/test/pmem_unmap/pmem_unmap.c Examining data/pmdk-1.10/src/test/pmem2_source_size/pmem2_source_size.c Examining data/pmdk-1.10/src/test/obj_include/obj_atomic_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_iterator_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_thread_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_atomic_base_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_types_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_lists_atomic_base_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_tx_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_iterator_base_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_pool_base_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_lists_atomic_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_pool_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_tx_base_include.c Examining data/pmdk-1.10/src/test/obj_include/obj_base_include.c Examining data/pmdk-1.10/src/test/obj_ctl_config/obj_ctl_config.c Examining data/pmdk-1.10/src/test/obj_tx_add_range_direct/obj_tx_add_range_direct.c Examining data/pmdk-1.10/src/test/pmem2_include/pmem2_include.c Examining data/pmdk-1.10/src/test/log_basic/log_basic.c Examining data/pmdk-1.10/src/test/obj_critnib_mt/obj_critnib_mt.c Examining data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_set_attr.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_common.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_common.h Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_open.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_msg_hdr.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_create.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_close.c Examining data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_misc.c Examining data/pmdk-1.10/src/test/pmreorder_simple/pmreorder_simple.c Examining data/pmdk-1.10/src/test/obj_tx_realloc/obj_tx_realloc.c Examining data/pmdk-1.10/src/test/obj_sds/mocks_windows.h Examining data/pmdk-1.10/src/test/obj_sds/obj_sds.c Examining data/pmdk-1.10/src/test/obj_check_remote/obj_check_remote.c Examining data/pmdk-1.10/src/test/obj_zones/obj_zones.c Examining data/pmdk-1.10/src/test/tools/cpufd/cpufd.c Examining data/pmdk-1.10/src/test/tools/pmemalloc/pmemalloc.c Examining data/pmdk-1.10/src/test/tools/dllview/dllview.c Examining data/pmdk-1.10/src/test/tools/fip/fip.c Examining data/pmdk-1.10/src/test/tools/extents/extents.c Examining data/pmdk-1.10/src/test/tools/usc_permission_check/usc_permission_check.c Examining data/pmdk-1.10/src/test/tools/sparsefile/sparsefile.c Examining data/pmdk-1.10/src/test/tools/gran_detecto/gran_detecto.c Examining data/pmdk-1.10/src/test/tools/cmpmap/cmpmap.c Examining data/pmdk-1.10/src/test/tools/pmemdetect/pmemdetect.c Examining data/pmdk-1.10/src/test/tools/ddmap/ddmap.c Examining data/pmdk-1.10/src/test/tools/obj_verify/obj_verify.c Examining data/pmdk-1.10/src/test/tools/bttcreate/bttcreate.c Examining data/pmdk-1.10/src/test/tools/anonymous_mmap/anonymous_mmap.c Examining data/pmdk-1.10/src/test/tools/ctrld/signals_linux.h Examining data/pmdk-1.10/src/test/tools/ctrld/ctrld.c Examining data/pmdk-1.10/src/test/tools/ctrld/signals_freebsd.h Examining data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c Examining data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c Examining data/pmdk-1.10/src/test/tools/pmemwrite/write.c Examining data/pmdk-1.10/src/test/tools/fallocate_detect/fallocate_detect.c Examining data/pmdk-1.10/src/test/obj_layout/obj_layout.c Examining data/pmdk-1.10/src/test/libpmempool_api/libpmempool_test.c Examining data/pmdk-1.10/src/test/obj_tx_mt/obj_tx_mt.c Examining data/pmdk-1.10/src/test/util_sds/mocks_windows.h Examining data/pmdk-1.10/src/test/util_sds/util_sds.c Examining data/pmdk-1.10/src/test/pmem2_memset/memset_common.c Examining data/pmdk-1.10/src/test/pmem2_memset/memset_common.h Examining data/pmdk-1.10/src/test/pmem2_memset/pmem2_memset.c Examining data/pmdk-1.10/src/test/pmem_valgr_simple/pmem_valgr_simple.c Examining data/pmdk-1.10/src/test/obj_debug/obj_debug.c Examining data/pmdk-1.10/src/test/libpmempool_feature/libpmempool_feature.c Examining data/pmdk-1.10/src/test/util_file_open/util_file_open.c Examining data/pmdk-1.10/src/test/obj_defrag_advanced/obj_defrag_advanced.c Examining data/pmdk-1.10/src/test/obj_defrag_advanced/pgraph.h Examining data/pmdk-1.10/src/test/obj_defrag_advanced/vgraph.h Examining data/pmdk-1.10/src/test/obj_defrag_advanced/vgraph.c Examining data/pmdk-1.10/src/test/obj_defrag_advanced/pgraph.c Examining data/pmdk-1.10/src/test/ctl_cow/ctl_cow.c Examining data/pmdk-1.10/src/test/util_poolset/util_poolset.c Examining data/pmdk-1.10/src/test/util_poolset/mocks_windows.c Examining data/pmdk-1.10/src/test/util_poolset/mocks_windows.h Examining data/pmdk-1.10/src/test/util_poolset/mocks.h Examining data/pmdk-1.10/src/test/util_poolset/mocks_posix.c Examining data/pmdk-1.10/src/test/libpmempool_transform_win/libpmempool_transform_win.c Examining data/pmdk-1.10/src/test/libpmempool_rm/libpmempool_rm.c Examining data/pmdk-1.10/src/test/pmreorder_stack/pmreorder_stack.c Examining data/pmdk-1.10/src/test/pmem2_source/pmem2_source.c Examining data/pmdk-1.10/src/test/obj_direct_volatile/obj_direct_volatile.c Examining data/pmdk-1.10/src/test/obj_tx_locks/obj_tx_locks.c Examining data/pmdk-1.10/src/test/obj_bucket/obj_bucket.c Examining data/pmdk-1.10/src/test/pmem_memset/pmem_memset.c Examining data/pmdk-1.10/src/test/rpmemd_log/rpmemd_log_test.c Examining data/pmdk-1.10/src/test/obj_critnib/obj_critnib.c Examining data/pmdk-1.10/src/test/pmem2_memmove/pmem2_memmove.c Examining data/pmdk-1.10/src/test/pmem2_memmove/memmove_common.h Examining data/pmdk-1.10/src/test/pmem2_memmove/memmove_common.c Examining data/pmdk-1.10/src/test/obj_fragmentation/obj_fragmentation.c Examining data/pmdk-1.10/src/test/util_is_poolset/util_is_poolset.c Examining data/pmdk-1.10/src/test/traces_custom_function/traces_custom_function.c Examining data/pmdk-1.10/src/test/blk_include/blk_include.c Examining data/pmdk-1.10/src/test/obj_memcheck_register/obj_memcheck_register.c Examining data/pmdk-1.10/src/test/obj_heap/obj_heap.c Examining data/pmdk-1.10/src/test/libpmempool_include/libpmempool_include.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_set_attr.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_close.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_misc.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_open.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_common.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_create.c Examining data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_common.h Examining data/pmdk-1.10/src/test/obj_out_of_memory/obj_out_of_memory.c Examining data/pmdk-1.10/src/test/compat_incompat_features/pool_open.c Examining data/pmdk-1.10/src/test/obj_tx_alloc/obj_tx_alloc.c Examining data/pmdk-1.10/src/test/pmem2_api/pmem2_api.c Examining data/pmdk-1.10/src/test/pmem_is_pmem_posix/pmem_is_pmem_posix.c Examining data/pmdk-1.10/src/test/blk_rw/blk_rw.c Examining data/pmdk-1.10/src/test/rpmem_addr_ext/rpmem_addr_ext.c Examining data/pmdk-1.10/src/test/pmem_include/pmem_include.c Examining data/pmdk-1.10/src/test/getopt/getopt.c Examining data/pmdk-1.10/src/test/log_pool_win/log_pool_win.c Examining data/pmdk-1.10/src/test/out_err_win/out_err_win.c Examining data/pmdk-1.10/src/test/traces/traces.c Examining data/pmdk-1.10/src/test/blk_nblock/blk_nblock.c Examining data/pmdk-1.10/src/test/obj_heap_interrupt/mocks_windows.h Examining data/pmdk-1.10/src/test/obj_heap_interrupt/obj_heap_interrupt.c Examining data/pmdk-1.10/src/test/obj_memblock/mocks_windows.h Examining data/pmdk-1.10/src/test/obj_memblock/obj_memblock.c Examining data/pmdk-1.10/src/test/obj_pmalloc_basic/obj_pmalloc_basic.c Examining data/pmdk-1.10/src/test/util_is_absolute/util_is_absolute.c Examining data/pmdk-1.10/src/test/log_walker/log_walker.c Examining data/pmdk-1.10/src/test/blk_recovery/blk_recovery.c Examining data/pmdk-1.10/src/test/obj_memops/obj_memops.c Examining data/pmdk-1.10/src/test/obj_mem/obj_mem.c Examining data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c Examining data/pmdk-1.10/src/test/obj_root/obj_root.c Examining data/pmdk-1.10/src/libpmemblk/libpmemblk_main.c Examining data/pmdk-1.10/src/libpmemblk/blk.c Examining data/pmdk-1.10/src/libpmemblk/blk.h Examining data/pmdk-1.10/src/libpmemblk/btt.h Examining data/pmdk-1.10/src/libpmemblk/btt_layout.h Examining data/pmdk-1.10/src/libpmemblk/libpmemblk.c Examining data/pmdk-1.10/src/libpmemblk/btt.c Examining data/pmdk-1.10/src/libpmemobj/critnib.h Examining data/pmdk-1.10/src/libpmemobj/bucket.h Examining data/pmdk-1.10/src/libpmemobj/ulog.h Examining data/pmdk-1.10/src/libpmemobj/critnib.c Examining data/pmdk-1.10/src/libpmemobj/container_ravl.c Examining data/pmdk-1.10/src/libpmemobj/recycler.h Examining data/pmdk-1.10/src/libpmemobj/pmalloc.h Examining data/pmdk-1.10/src/libpmemobj/bucket.c Examining data/pmdk-1.10/src/libpmemobj/memops.h Examining data/pmdk-1.10/src/libpmemobj/ulog.c Examining data/pmdk-1.10/src/libpmemobj/stats.c Examining data/pmdk-1.10/src/libpmemobj/sync.c Examining data/pmdk-1.10/src/libpmemobj/container.h Examining data/pmdk-1.10/src/libpmemobj/container_ravl.h Examining data/pmdk-1.10/src/libpmemobj/container_seglists.c Examining data/pmdk-1.10/src/libpmemobj/stats.h Examining data/pmdk-1.10/src/libpmemobj/heap.c Examining data/pmdk-1.10/src/libpmemobj/memops.c Examining data/pmdk-1.10/src/libpmemobj/libpmemobj.c Examining data/pmdk-1.10/src/libpmemobj/alloc_class.c Examining data/pmdk-1.10/src/libpmemobj/ctl_debug.h Examining data/pmdk-1.10/src/libpmemobj/tx.c Examining data/pmdk-1.10/src/libpmemobj/list.c Examining data/pmdk-1.10/src/libpmemobj/obj.c Examining data/pmdk-1.10/src/libpmemobj/libpmemobj_main.c Examining data/pmdk-1.10/src/libpmemobj/container_seglists.h Examining data/pmdk-1.10/src/libpmemobj/heap_layout.h Examining data/pmdk-1.10/src/libpmemobj/lane.c Examining data/pmdk-1.10/src/libpmemobj/palloc.h Examining data/pmdk-1.10/src/libpmemobj/sync.h Examining data/pmdk-1.10/src/libpmemobj/obj.h Examining data/pmdk-1.10/src/libpmemobj/heap.h Examining data/pmdk-1.10/src/libpmemobj/alloc_class.h Examining data/pmdk-1.10/src/libpmemobj/lane.h Examining data/pmdk-1.10/src/libpmemobj/list.h Examining data/pmdk-1.10/src/libpmemobj/memblock.c Examining data/pmdk-1.10/src/libpmemobj/recycler.c Examining data/pmdk-1.10/src/libpmemobj/memblock.h Examining data/pmdk-1.10/src/libpmemobj/pmalloc.c Examining data/pmdk-1.10/src/libpmemobj/palloc.c Examining data/pmdk-1.10/src/libpmemobj/ctl_debug.c Examining data/pmdk-1.10/src/libpmemobj/pmemops.h Examining data/pmdk-1.10/src/libpmemobj/tx.h Examining data/pmdk-1.10/src/windows/include/endian.h Examining data/pmdk-1.10/src/windows/include/linux/limits.h Examining data/pmdk-1.10/src/windows/include/platform.h Examining data/pmdk-1.10/src/windows/include/sched.h Examining data/pmdk-1.10/src/windows/include/unistd.h Examining data/pmdk-1.10/src/windows/include/sys/file.h Examining data/pmdk-1.10/src/windows/include/sys/wait.h Examining data/pmdk-1.10/src/windows/include/sys/mman.h Examining data/pmdk-1.10/src/windows/include/sys/param.h Examining data/pmdk-1.10/src/windows/include/sys/uio.h Examining data/pmdk-1.10/src/windows/include/sys/mount.h Examining data/pmdk-1.10/src/windows/include/sys/resource.h Examining data/pmdk-1.10/src/windows/include/sys/statvfs.h Examining data/pmdk-1.10/src/windows/include/libgen.h Examining data/pmdk-1.10/src/windows/include/features.h Examining data/pmdk-1.10/src/windows/include/win_mmap.h Examining data/pmdk-1.10/src/windows/include/dirent.h Examining data/pmdk-1.10/src/windows/include/strings.h Examining data/pmdk-1.10/src/windows/include/err.h Examining data/pmdk-1.10/src/windows/win_mmap.c Examining data/pmdk-1.10/src/windows/getopt/getopt.h Examining data/pmdk-1.10/src/windows/getopt/getopt.c Examining data/pmdk-1.10/src/rpmem_common/rpmem_fip_common.h Examining data/pmdk-1.10/src/rpmem_common/rpmem_common.h Examining data/pmdk-1.10/src/rpmem_common/rpmem_fip_lane.h Examining data/pmdk-1.10/src/rpmem_common/rpmem_fip_msg.h Examining data/pmdk-1.10/src/rpmem_common/rpmem_common.c Examining data/pmdk-1.10/src/rpmem_common/rpmem_fip_common.c Examining data/pmdk-1.10/src/rpmem_common/rpmem_proto.h Examining data/pmdk-1.10/src/rpmem_common/rpmem_common_log.h Examining data/pmdk-1.10/src/tools/pmempool/convert.h Examining data/pmdk-1.10/src/tools/pmempool/info_log.c Examining data/pmdk-1.10/src/tools/pmempool/info_blk.c Examining data/pmdk-1.10/src/tools/pmempool/output.c Examining data/pmdk-1.10/src/tools/pmempool/info.c Examining data/pmdk-1.10/src/tools/pmempool/rm.c Examining data/pmdk-1.10/src/tools/pmempool/feature.c Examining data/pmdk-1.10/src/tools/pmempool/transform.c Examining data/pmdk-1.10/src/tools/pmempool/convert.c Examining data/pmdk-1.10/src/tools/pmempool/info_obj.c Examining data/pmdk-1.10/src/tools/pmempool/create.h Examining data/pmdk-1.10/src/tools/pmempool/pmempool.c Examining data/pmdk-1.10/src/tools/pmempool/feature.h Examining data/pmdk-1.10/src/tools/pmempool/common.h Examining data/pmdk-1.10/src/tools/pmempool/create.c Examining data/pmdk-1.10/src/tools/pmempool/common.c Examining data/pmdk-1.10/src/tools/pmempool/check.c Examining data/pmdk-1.10/src/tools/pmempool/output.h Examining data/pmdk-1.10/src/tools/pmempool/check.h Examining data/pmdk-1.10/src/tools/pmempool/rm.h Examining data/pmdk-1.10/src/tools/pmempool/synchronize.c Examining data/pmdk-1.10/src/tools/pmempool/dump.c Examining data/pmdk-1.10/src/tools/pmempool/synchronize.h Examining data/pmdk-1.10/src/tools/pmempool/info.h Examining data/pmdk-1.10/src/tools/pmempool/transform.h Examining data/pmdk-1.10/src/tools/pmempool/dump.h Examining data/pmdk-1.10/src/tools/daxio/daxio.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.h Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_fip.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_obc.h Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_log.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_util.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_log.h Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_obc.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd.h Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.h Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd.c Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_util.h Examining data/pmdk-1.10/src/tools/rpmemd/rpmemd_fip.h Examining data/pmdk-1.10/src/libpmempool/pool.c Examining data/pmdk-1.10/src/libpmempool/replica.h Examining data/pmdk-1.10/src/libpmempool/check_bad_blocks.c Examining data/pmdk-1.10/src/libpmempool/check_write.c Examining data/pmdk-1.10/src/libpmempool/check_backup.c Examining data/pmdk-1.10/src/libpmempool/sync.c Examining data/pmdk-1.10/src/libpmempool/pool.h Examining data/pmdk-1.10/src/libpmempool/rm.c Examining data/pmdk-1.10/src/libpmempool/feature.c Examining data/pmdk-1.10/src/libpmempool/transform.c Examining data/pmdk-1.10/src/libpmempool/check_util.h Examining data/pmdk-1.10/src/libpmempool/check_sds.c Examining data/pmdk-1.10/src/libpmempool/check_blk.c Examining data/pmdk-1.10/src/libpmempool/check_log.c Examining data/pmdk-1.10/src/libpmempool/check_pool_hdr.c Examining data/pmdk-1.10/src/libpmempool/replica.c Examining data/pmdk-1.10/src/libpmempool/check_btt_map_flog.c Examining data/pmdk-1.10/src/libpmempool/check_btt_info.c Examining data/pmdk-1.10/src/libpmempool/check_util.c Examining data/pmdk-1.10/src/libpmempool/check.c Examining data/pmdk-1.10/src/libpmempool/libpmempool.c Examining data/pmdk-1.10/src/libpmempool/pmempool.h Examining data/pmdk-1.10/src/libpmempool/check.h Examining data/pmdk-1.10/src/libpmempool/libpmempool_main.c Examining data/pmdk-1.10/src/librpmem/rpmem_util.h Examining data/pmdk-1.10/src/librpmem/rpmem_ssh.h Examining data/pmdk-1.10/src/librpmem/rpmem_cmd.c Examining data/pmdk-1.10/src/librpmem/rpmem_cmd.h Examining data/pmdk-1.10/src/librpmem/rpmem_ssh.c Examining data/pmdk-1.10/src/librpmem/rpmem_obc.h Examining data/pmdk-1.10/src/librpmem/librpmem.c Examining data/pmdk-1.10/src/librpmem/rpmem_fip.c Examining data/pmdk-1.10/src/librpmem/rpmem.h Examining data/pmdk-1.10/src/librpmem/rpmem_util.c Examining data/pmdk-1.10/src/librpmem/rpmem_obc.c Examining data/pmdk-1.10/src/librpmem/rpmem_fip.h Examining data/pmdk-1.10/src/librpmem/rpmem.c Examining data/pmdk-1.10/src/libpmemlog/log.h Examining data/pmdk-1.10/src/libpmemlog/log.c Examining data/pmdk-1.10/src/libpmemlog/libpmemlog.c Examining data/pmdk-1.10/src/libpmemlog/libpmemlog_main.c Examining data/pmdk-1.10/src/common/ravl.c Examining data/pmdk-1.10/src/common/vec.h Examining data/pmdk-1.10/src/common/mmap_posix.c Examining data/pmdk-1.10/src/common/dlsym.h Examining data/pmdk-1.10/src/common/page_size.h Examining data/pmdk-1.10/src/common/uuid_windows.c Examining data/pmdk-1.10/src/common/file.h Examining data/pmdk-1.10/src/common/mmap_windows.c Examining data/pmdk-1.10/src/common/uuid_freebsd.c Examining data/pmdk-1.10/src/common/uuid_linux.c Examining data/pmdk-1.10/src/common/ctl_prefault.c Examining data/pmdk-1.10/src/common/vecq.h Examining data/pmdk-1.10/src/common/bad_blocks.c Examining data/pmdk-1.10/src/common/ravl.h Examining data/pmdk-1.10/src/common/set.c Examining data/pmdk-1.10/src/common/os_deep_linux.c Examining data/pmdk-1.10/src/common/badblocks.h Examining data/pmdk-1.10/src/common/set_badblocks.c Examining data/pmdk-1.10/src/common/file.c Examining data/pmdk-1.10/src/common/ctl_sds.c Examining data/pmdk-1.10/src/common/mmap.h Examining data/pmdk-1.10/src/common/sys_util.h Examining data/pmdk-1.10/src/common/rand.h Examining data/pmdk-1.10/src/common/file_windows.c Examining data/pmdk-1.10/src/common/queue.h Examining data/pmdk-1.10/src/common/rand.c Examining data/pmdk-1.10/src/common/pool_hdr.h Examining data/pmdk-1.10/src/common/file_posix.c Examining data/pmdk-1.10/src/common/pmemcommon.h Examining data/pmdk-1.10/src/common/pool_hdr.c Examining data/pmdk-1.10/src/common/ctl.c Examining data/pmdk-1.10/src/common/mmap.c Examining data/pmdk-1.10/src/common/os_deep.h Examining data/pmdk-1.10/src/common/shutdown_state.c Examining data/pmdk-1.10/src/common/os_deep_windows.c Examining data/pmdk-1.10/src/common/ctl_global.h Examining data/pmdk-1.10/src/common/uuid.c Examining data/pmdk-1.10/src/common/util_pmem.h Examining data/pmdk-1.10/src/common/set_badblocks.h Examining data/pmdk-1.10/src/common/ctl_cow.c Examining data/pmdk-1.10/src/common/ctl_fallocate.c Examining data/pmdk-1.10/src/common/shutdown_state.h Examining data/pmdk-1.10/src/common/uuid.h Examining data/pmdk-1.10/src/common/set.h Examining data/pmdk-1.10/src/common/ctl.h Examining data/pmdk-1.10/utils/docker/test_package/test_package.c FINAL RESULTS: data/pmdk-1.10/src/core/os_posix.c:129:9: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. return chmod(pathname, mode); data/pmdk-1.10/src/core/util_posix.c:116:7: [5] (race) readlink: This accepts filename arguments; if an attacker can move those files or change the link content, a race condition results. Also, it does not terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach. cc = readlink("/proc/self/exe", path, pathlen); data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:450:18: [5] (race) readlink: This accepts filename arguments; if an attacker can move those files or change the link content, a race condition results. Also, it does not terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach. ssize_t sret = readlink(path, link, PATH_MAX - 1); data/pmdk-1.10/src/benchmarks/pmembench.cpp:433:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf("%f;%f;%f;%f;%f;%f;%" PRIu64 ";%" PRIu64 ";%" PRIu64 data/pmdk-1.10/src/benchmarks/pmembench.cpp:1098:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(tmp, "%s" OS_DIR_SEP_STR "%s", path, info.filename); data/pmdk-1.10/src/common/file_posix.c:43:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). (void) strcpy(fullname, dir); data/pmdk-1.10/src/common/file_posix.c:44:9: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). (void) strcat(fullname, templ); data/pmdk-1.10/src/common/mmap_posix.c:63:7: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(line, sscanf_os, &lo, &hi) == 2) { data/pmdk-1.10/src/common/set_badblocks.c:186:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(path, file); data/pmdk-1.10/src/common/set_badblocks.c:187:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(path, bbs_suffix); data/pmdk-1.10/src/core/fs_windows.c:35:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(search_path, path); data/pmdk-1.10/src/core/fs_windows.c:103:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(path, f->dir); data/pmdk-1.10/src/core/fs_windows.c:105:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(path + f->dirlen + 1, f->entry.name); data/pmdk-1.10/src/core/os_posix.c:102:9: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. return access(pathname, mode); data/pmdk-1.10/src/core/os_posix.c:352:9: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. return execv(path, argv); data/pmdk-1.10/src/core/os_windows.c:269:2: [4] (buffer) wcscpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using a function version that stops copying at the end of the buffer. wcscpy(npath, path); data/pmdk-1.10/src/core/out.c:293:35: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. static Vsnprintf_func Vsnprintf = vsnprintf; data/pmdk-1.10/src/core/out.c:315:41: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. Vsnprintf = (vsnprintf_func == NULL) ? vsnprintf : vsnprintf_func; data/pmdk-1.10/src/core/util.c:94:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(lib_name, lib); data/pmdk-1.10/src/core/util.c:95:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(lib_name, suffix); data/pmdk-1.10/src/core/util.c:96:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(func_name, func); data/pmdk-1.10/src/core/util.c:97:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(func_name, suffix); data/pmdk-1.10/src/core/util.c:384:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(result, s1); data/pmdk-1.10/src/core/util.c:385:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(result, s2); data/pmdk-1.10/src/core/util.c:447:12: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int ret = vsnprintf(str, size, format, ap); data/pmdk-1.10/src/examples/ex_common.h:30:9: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. return access(file, F_OK); data/pmdk-1.10/src/examples/libpmem2/redo/redo.c:244:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf("%" PRIu64, id); data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c:613:3: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, USAGE_STR, argv[0]); data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c:621:3: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, USAGE_STR, argv[0]); data/pmdk-1.10/src/examples/libpmemobj/btree.c:47:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(node->value, a->value); data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.c:268:7: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (access(ctx->filename, F_OK) != 0) { data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_search.c:341:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf("0x%" PRIx64, p.p4->children[c].oid.off); data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c:220:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, fmt, ap); data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c:515:6: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (access(ctx->filename, F_OK) != 0) data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:146:13: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. int ret = sscanf(msg, "INSERT %254s %s\n", key, D_RW(val)->buf); data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:423:6: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (access(path, F_OK) != 0) { data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:47:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(str, "%" PRIu64, &key) > 0) data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:60:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(str, "%" PRIu64, &key) > 0) { data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:77:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(str, "%" PRIu64, &key) > 0) { data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:92:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(str, "%" PRIu64, &val) > 0) data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:128:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(str, "%" PRIu64, &val) > 0) { data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2263:3: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, usage_str, argv[0]); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2275:4: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(usage_str, argv[0]); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2296:3: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, usage_str, argv[0]); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2302:7: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (!access(path, F_OK)) { data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2349:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(path + dirlen, PMEMOBJFS_TMP_TEMPLATE); data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders.c:360:6: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (access(path, F_OK) != 0) { data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders2.c:762:6: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if (access(argv[1], F_OK)) { data/pmdk-1.10/src/libpmem2/errormsg.c:51:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, format, args); data/pmdk-1.10/src/libpmem2/errormsg.c:61:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, format, args); data/pmdk-1.10/src/libpmem2/errormsg.c:92:2: [4] (format) vfwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfwprintf(stderr, format, args); data/pmdk-1.10/src/libpmem2/map_windows.c:424:4: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. access, data/pmdk-1.10/src/libpmempool/check_util.c:327:10: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int p = vsnprintf(st->msg, MAX_MSG_STR_SIZE, fmt, ap); data/pmdk-1.10/src/libpmempool/feature.c:46:12: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int ret = vsnprintf(buff + *pos, size, fmt, ap); data/pmdk-1.10/src/librpmem/rpmem_cmd.c:186:3: [4] (shell) execvp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execvp(cmd->args.argv[0], cmd->args.argv); data/pmdk-1.10/src/test/arch_flags/arch_flags.c:35:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(opts, "%" SCNu16 ":%" SCNu8 ":%" SCNu8 data/pmdk-1.10/src/test/mmap_fixed/mmap_fixed.c:77:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(name1, "%s\\testfile1", argv[1]); data/pmdk-1.10/src/test/mmap_fixed/mmap_fixed.c:78:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(name2, "%s\\testfile2", argv[1]); data/pmdk-1.10/src/test/obj_sds/obj_sds.c:80:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(uid, uids[uid_it]); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:32:52: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. res_prepare(const char *file, struct res *res, int access, unsigned proto) data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:40:11: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. 0, 0, access); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:104:45: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. template_mode_prot_mismatch(char *file, int access, unsigned prot) data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:109:26: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. res_prepare(file, &res, access, prot); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:28:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(path2, prefix); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:29:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(path2, path + strlen(BUS_DEVICE_PATH)); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:49:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(path2, prefix); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:50:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(path2, path + strlen(BUS_DEVICE_PATH)); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:65:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(path2, prefix); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:66:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(path2, path + strlen(BUS_DEVICE_PATH)); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:931:9: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. return system(cmd); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:940:17: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. FILE *stream = popen(cmd, "r"); data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_oob.c:47:8: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. ret = vsnprintf(&cmd_buff[cnt], CMD_BUFF_SIZE - cnt, fmt, ap); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_common.c:41:8: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. ret = vsnprintf(&cmd_buff[cnt], CMD_BUFF_SIZE - cnt, fmt, ap); data/pmdk-1.10/src/test/rpmemd_log/rpmemd_log_test.c:41:11: [4] (format) syslog: If syslog's format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant format string for syslog. FUNC_MOCK(syslog, void, int priority, const char *format, ...) data/pmdk-1.10/src/test/rpmemd_log/rpmemd_log_test.c:51:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(syslog_fh, format, ap); data/pmdk-1.10/src/test/rpmemd_log/rpmemd_log_test.c:67:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(syslog_fh, format, ap); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_common.c:42:8: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. ret = vsnprintf(&cmd_buff[cnt], CMD_BUFF_SIZE - cnt, fmt, ap); data/pmdk-1.10/src/test/set_funcs/set_funcs.c:75:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy((char *)p, s); data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:61:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(fh, fmt, ap); data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:166:3: [4] (shell) execvp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execvp(cmd, argv); data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:392:7: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(s, tcp_fmt, &p, &inode) != 2) { data/pmdk-1.10/src/test/tools/extents/extents.c:46:4: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(usage_str, argv[0]); data/pmdk-1.10/src/test/tools/extents/extents.c:66:4: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, usage_str, argv[0]); data/pmdk-1.10/src/test/tools/extents/extents.c:74:3: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, usage_str, argv[0]); data/pmdk-1.10/src/test/tools/extents/extents.c:79:3: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, usage_str, argv[0]); data/pmdk-1.10/src/test/tools/extents/extents.c:138:3: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, usage_str, argv[0]); data/pmdk-1.10/src/test/tools/pmemdetect/pmemdetect.c:35:23: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. #define err(fmt, ...) fprintf(stderr, "pmemdetect: " fmt, __VA_ARGS__) data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:136:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(ctx->err, fmt, ap); data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:149:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(ctx->out, fmt, ap); data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:2222:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(POCLI_CMD_PROMPT); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:305:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:582:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(pfp->value, "0x%" SCNx8, &v) != 1 && data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:583:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. sscanf(pfp->value, "%" SCNu8, &v) != 1) data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:600:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(pfp->value, "0x%" SCNx16, &v) != 1 && data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:601:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. sscanf(pfp->value, "%" SCNu16, &v) != 1) data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:621:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(pfp->value, "0x%" SCNx32, &v) != 1 && data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:622:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. sscanf(pfp->value, "%" SCNu32, &v) != 1) data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:642:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. if (sscanf(pfp->value, "0x%" SCNx64, &v) != 1 && data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:643:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. sscanf(pfp->value, "%" SCNu64, &v) != 1) data/pmdk-1.10/src/test/tools/sparsefile/sparsefile.c:32:2: [4] (format) vfwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfwprintf(stderr, fmt, ap); data/pmdk-1.10/src/test/traces_custom_function/traces_custom_function.c:60:12: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. ret_val = vsnprintf(str, size, format2, ap); data/pmdk-1.10/src/test/unittest/unittest.h:120:24: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. __attribute__((format(printf, 6, 7))); data/pmdk-1.10/src/test/unittest/unittest.h:124:24: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. __attribute__((format(printf, 6, 7))); data/pmdk-1.10/src/test/unittest/unittest.h:128:24: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. __attribute__((format(printf, 4, 5))); data/pmdk-1.10/src/test/unittest/unittest.h:131:24: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. __attribute__((format(printf, 4, 5))); data/pmdk-1.10/src/test/unittest/unittest.h:136:24: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. __attribute__((format(printf, 4, 5))); data/pmdk-1.10/src/test/unittest/unittest.h:139:24: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. __attribute__((format(printf, 4, 5))); data/pmdk-1.10/src/test/unittest/ut.c:279:8: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. sn = vsnprintf(&buf[cc], MAXPRINT - cc, fmt, ap); data/pmdk-1.10/src/test/unittest/ut.c:1210:12: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int ret = vsnprintf(str, size, format, ap); data/pmdk-1.10/src/test/unittest/ut_fh.c:194:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(full_path, "%s\\UT_FH_TMPFILE", path); data/pmdk-1.10/src/test/unittest/ut_pmem2_setup.c:21:36: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. size_t length, size_t offset, int access) data/pmdk-1.10/src/test/unittest/ut_pmem2_setup.c:28:34: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. *fh = UT_FH_OPEN(fh_type, file, access); data/pmdk-1.10/src/test/unittest/ut_pmem2_setup.h:17:21: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. size_t offset, int access); data/pmdk-1.10/src/test/util_sds/util_sds.c:136:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(uid, uids[uid_it]); data/pmdk-1.10/src/tools/daxio/daxio.c:36:2: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, "daxio: " fmt, ##__VA_ARGS__);\ data/pmdk-1.10/src/tools/daxio/daxio.c:113:2: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, USAGE_MESSAGE); data/pmdk-1.10/src/tools/pmempool/check.c:118:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/pmempool/common.c:745:10: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int p = vsnprintf(qbuff, Q_BUFF_SIZE, fmt, ap); data/pmdk-1.10/src/tools/pmempool/convert.c:44:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(p, dir); data/pmdk-1.10/src/tools/pmempool/convert.c:45:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(p, convert_bin); data/pmdk-1.10/src/tools/pmempool/create.c:146:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/pmempool/dump.c:108:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/pmempool/feature.c:94:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/pmempool/info.c:304:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/pmempool/output.c:131:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, str, ap); data/pmdk-1.10/src/tools/pmempool/output.c:191:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(out_fh, fmt, ap); data/pmdk-1.10/src/tools/pmempool/output.c:219:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(out_fh, fmt, ap); data/pmdk-1.10/src/tools/pmempool/output.c:245:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(out_fh, fmt, ap); data/pmdk-1.10/src/tools/pmempool/pmempool.c:201:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(format, commands[i].name, commands[i].brief); data/pmdk-1.10/src/tools/pmempool/rm.c:95:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/pmempool/synchronize.c:91:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/pmempool/transform.c:92:2: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(help_str, appname); data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:393:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(line_copy, line); data/pmdk-1.10/src/tools/rpmemd/rpmemd_log.c:160:12: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int ret = vsnprintf(rpmemd_prefix_buff, RPMEMD_MAX_PREFIX, data/pmdk-1.10/src/tools/rpmemd/rpmemd_log.c:212:9: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. ret = vsnprintf(&buff[cnt], RPMEMD_MAX_MSG - cnt, fmt, ap); data/pmdk-1.10/src/windows/include/err.h:23:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, fmt, vl); data/pmdk-1.10/src/windows/include/err.h:37:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, fmt, vl); data/pmdk-1.10/src/windows/include/unistd.h:87:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path, "%s%s", fname, ext); data/pmdk-1.10/src/windows/win_mmap.c:480:4: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. access, data/pmdk-1.10/src/windows/win_mmap.c:497:5: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. access, data/pmdk-1.10/src/windows/win_mmap.c:533:15: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. mt->Access = access; data/pmdk-1.10/src/benchmarks/clo.cpp:792:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, optstr, options, &optindex)) != data/pmdk-1.10/src/benchmarks/clo.cpp:907:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, optstr, options, &optindex)) != data/pmdk-1.10/src/benchmarks/pmemobj_atomic_lists.cpp:467:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(obj_bench.args->seed); data/pmdk-1.10/src/core/os_posix.c:327:9: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. return getenv(name); data/pmdk-1.10/src/core/os_thread_windows.c:113:2: [3] (misc) InitializeCriticalSection: Exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. InitializeCriticalSection(&mutex_internal->lock); data/pmdk-1.10/src/core/os_thread_windows.c:136:2: [3] (misc) EnterCriticalSection: On some versions of Windows, exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. EnterCriticalSection(&mutex_internal->lock); data/pmdk-1.10/src/core/os_windows.c:567:20: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (!overwrite && getenv(name)) data/pmdk-1.10/src/core/os_windows.c:603:9: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. return getenv(name); data/pmdk-1.10/src/core/util_posix.c:42:9: [3] (buffer) realpath: This function does not protect against buffer overflows, and some implementations can overflow internally (CWE-120/CWE-785!). Ensure that the destination buffer is at least of size MAXPATHLEN, andto protect against implementation problems, the input argument should also be checked to ensure it is no larger than MAXPATHLEN. return realpath(path, NULL); data/pmdk-1.10/src/examples/libpmemobj/buffons_needle_problem.c:91:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand((unsigned int)time(NULL)); data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_atomic.c:425:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(D_RO(hashmap)->seed); data/pmdk-1.10/src/examples/libpmemobj/hashmap/hashmap_tx.c:365:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(D_RO(hashmap)->seed); data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.c:159:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(ac, av, "s:m:n:")) != -1) { data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_examine.c:246:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(ac, av, "x", long_options, NULL)) != -1) { data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_search.c:210:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(ac, av, "x", long_options, NULL)) != -1) { data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c:555:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(ac, av, "h", data/pmdk-1.10/src/examples/libpmemobj/map/data_store.c:206:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand((unsigned)time(NULL)); data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:226:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(args.seed); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2272:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, optstr)) != -1) { data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders.c:358:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(time(NULL)); data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders2.c:760:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(time(NULL)); data/pmdk-1.10/src/libpmem2/pmem2_utils_linux.c:55:16: [3] (buffer) realpath: This function does not protect against buffer overflows, and some implementations can overflow internally (CWE-120/CWE-785!). Ensure that the destination buffer is at least of size MAXPATHLEN, andto protect against implementation problems, the input argument should also be checked to ensure it is no larger than MAXPATHLEN. char *rpath = realpath(spath, npath); data/pmdk-1.10/src/test/getopt/getopt.c:52:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, data/pmdk-1.10/src/test/libpmempool_api/libpmempool_test.c:112:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "t:r:d:a:y:s:b:")) != -1) { data/pmdk-1.10/src/test/libpmempool_rm/libpmempool_rm.c:32:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, optstr)) != -1) { data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:469:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(seed); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:660:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(ATOU(argv[1])); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:781:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(ATOU(argv[1])); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:807:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(ATOU(argv[1])); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:830:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(ATOU(argv[1])); data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c:51:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(time(NULL)); data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c:625:6: [3] (buffer) realpath: This function does not protect against buffer overflows, and some implementations can overflow internally (CWE-120/CWE-785!). Ensure that the destination buffer is at least of size MAXPATHLEN, andto protect against implementation problems, the input argument should also be checked to ensure it is no larger than MAXPATHLEN. if (realpath(argv[2], root_dir) == NULL) data/pmdk-1.10/src/test/tools/bttcreate/bttcreate.c:213:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "s:b:l:u:tv")) != -1) { data/pmdk-1.10/src/test/tools/cmpmap/cmpmap.c:68:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "l:o:zh", data/pmdk-1.10/src/test/tools/ddmap/ddmap.c:328:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "i:o:d:s:q:b:n:crhv", data/pmdk-1.10/src/test/tools/extents/extents.c:43:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "hl:")) != -1) { data/pmdk-1.10/src/test/tools/gran_detecto/gran_detecto.c:92:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "bcdhp", long_options, NULL)) != data/pmdk-1.10/src/test/tools/obj_verify/obj_verify.c:91:2: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand((unsigned int)time(NULL)); data/pmdk-1.10/src/test/tools/pmemalloc/pmemalloc.c:57:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "r:o:c:t:e:sf")) != -1) { data/pmdk-1.10/src/test/tools/pmemdetect/pmemdetect.c:78:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "a:dshrz", data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:2350:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "s:p")) != -1) { data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:447:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "v?r:", data/pmdk-1.10/src/test/tools/pmemwrite/write.c:191:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "h")) != -1) { data/pmdk-1.10/src/test/tools/sparsefile/sparsefile.c:207:16: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "vnscfl:")) != -1) { data/pmdk-1.10/src/tools/daxio/daxio.c:142:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "i:o:k:s:l:b:zhV", data/pmdk-1.10/src/tools/pmempool/check.c:129:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "ahvrdNb:qy", data/pmdk-1.10/src/tools/pmempool/common.c:1079:12: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int opt = getopt_long(argc, argv, optstr, opts->opts, NULL); data/pmdk-1.10/src/tools/pmempool/feature.c:157:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "vhe:d:q:h", data/pmdk-1.10/src/tools/pmempool/pmempool.c:258:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(2, argv, "Vh", data/pmdk-1.10/src/tools/pmempool/rm.c:281:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, optstr, data/pmdk-1.10/src/tools/pmempool/synchronize.c:102:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "bdhv", data/pmdk-1.10/src/tools/pmempool/transform.c:103:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, "dhv", data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:438:16: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt_long(argc, argv, optstr, options, data/pmdk-1.10/src/windows/getopt/getopt.c:60:5: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int getopt(int argc, char* const argv[], const char* optstring) { data/pmdk-1.10/src/windows/getopt/getopt.c:185:5: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int getopt_long(int argc, char* const argv[], const char* optstring, data/pmdk-1.10/src/windows/getopt/getopt.c:223:12: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. return getopt(argc, argv, optstring); data/pmdk-1.10/src/windows/getopt/getopt.h:49:5: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int getopt(int argc, char* const argv[], const char* optstring); data/pmdk-1.10/src/windows/getopt/getopt.h:51:5: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int getopt_long(int argc, char* const argv[], data/pmdk-1.10/src/benchmarks/blk.cpp:211:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bworker->buff, (char *)bb->addr + file_off, ba->dsize); data/pmdk-1.10/src/benchmarks/blk.cpp:365:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/benchmarks/blk.cpp:577:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/benchmarks/clo.cpp:40:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_BUFF_SIZE]; data/pmdk-1.10/src/benchmarks/clo.cpp:182:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, &value, clo->type_int.size); data/pmdk-1.10/src/benchmarks/clo.cpp:216:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, &value, clo->type_uint.size); data/pmdk-1.10/src/benchmarks/clo_vec.cpp:133:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(args->args, argscpy, clovec->size); data/pmdk-1.10/src/benchmarks/clo_vec.cpp:187:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(val->ptr, ptr, size); data/pmdk-1.10/src/benchmarks/clo_vec.cpp:210:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dptr, ptr, size); data/pmdk-1.10/src/benchmarks/clo_vec.cpp:244:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dptr, value->ptr, size); data/pmdk-1.10/src/benchmarks/log.cpp:233:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff, buf, len); data/pmdk-1.10/src/benchmarks/log.cpp:436:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/benchmarks/map_bench.cpp:464:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/benchmarks/obj_locks.cpp:38:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[_POBJ_CL_SIZE]; data/pmdk-1.10/src/benchmarks/obj_pmalloc.cpp:82:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/benchmarks/pmem_memcpy.cpp:76:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. bool memcpy; data/pmdk-1.10/src/benchmarks/pmem_memcpy.cpp:254:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dest, source, len); data/pmdk-1.10/src/benchmarks/pmem_memcpy.cpp:268:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dest, source, len); data/pmdk-1.10/src/benchmarks/pmem_memcpy.cpp:450:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if (pmb->pargs->memcpy) { data/pmdk-1.10/src/benchmarks/pmem_memcpy.cpp:578:62: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. pmem_memcpy_clo[5].off = clo_field_offset(struct pmem_args, memcpy); data/pmdk-1.10/src/benchmarks/pmembench.cpp:349:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(clos, pmembench_clos, pb_nclos * sizeof(struct benchmark_clo)); data/pmdk-1.10/src/benchmarks/pmembench.cpp:352:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&clos[pb_nclos], bench->info->clos, data/pmdk-1.10/src/benchmarks/pmembench.cpp:1258:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char old_wd[PATH_MAX]; data/pmdk-1.10/src/benchmarks/pmemobj_gen.cpp:202:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *type_mode_names[MAX_TYPE_MODE] = {"one", "per-thread", "rand"}; data/pmdk-1.10/src/benchmarks/pmemobj_tx.cpp:924:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/benchmarks/poolset_util.cpp:21:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/benchmarks/poolset_util.cpp:47:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[PATH_MAX + 20]; data/pmdk-1.10/src/benchmarks/rpmem.cpp:807:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rpmem_flush_clo, common_clo, sizeof(common_clo)); data/pmdk-1.10/src/benchmarks/rpmem.cpp:829:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&rpmem_flush_info, &common_info, sizeof(common_info)); data/pmdk-1.10/src/benchmarks/rpmem.cpp:840:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rpmem_persist_clo, common_clo, sizeof(common_clo)); data/pmdk-1.10/src/benchmarks/rpmem.cpp:848:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&rpmem_persist_info, &common_info, sizeof(common_info)); data/pmdk-1.10/src/benchmarks/rpmem.cpp:858:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rpmem_mixed_clo, common_clo, sizeof(common_clo)); data/pmdk-1.10/src/benchmarks/rpmem.cpp:871:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&rpmem_mixed_info, &common_info, sizeof(common_info)); data/pmdk-1.10/src/common/ctl.c:518:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char in = ((char *)arg)[0]; data/pmdk-1.10/src/common/file.c:353:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ADDR_SUM(addr, offset), buffer, size); data/pmdk-1.10/src/common/file.c:406:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buffer, ADDR_SUM(addr, offset), size); data/pmdk-1.10/src/common/file.h:27:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char filename[NAME_MAX + 1]; data/pmdk-1.10/src/common/mmap_posix.c:51:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[PROCMAXLEN]; /* for fgets() */ data/pmdk-1.10/src/common/pool_hdr.c:340:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(found, record, sizeof(features_t)); data/pmdk-1.10/src/common/pool_hdr.h:105:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[POOL_HDR_SIG_LEN]; data/pmdk-1.10/src/common/pool_hdr.h:116:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char unused[POOL_HDR_UNUSED_SIZE]; /* must be zero */ data/pmdk-1.10/src/common/pool_hdr.h:118:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char unused2[POOL_HDR_UNUSED2_SIZE]; /* must be zero */ data/pmdk-1.10/src/common/pool_hdr.h:123:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char align_pad[POOL_HDR_ALIGN_PAD]; /* alignment pad */ data/pmdk-1.10/src/common/ravl.c:142:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(data, &arg, sizeof(arg)); data/pmdk-1.10/src/common/ravl.c:151:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(data, arg, data_size); data/pmdk-1.10/src/common/ravl.c:549:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(n->data, s->data, ravl->data_size); data/pmdk-1.10/src/common/ravl.c:572:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&data, node->data, sizeof(void *)); data/pmdk-1.10/src/common/set.c:324:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *parser_errstr[PARSER_MAX_CODE] = { data/pmdk-1.10/src/common/set.c:1856:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->signature, rattr->signature, POOL_HDR_SIG_LEN); data/pmdk-1.10/src/common/set.c:1861:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->poolset_uuid, rattr->poolset_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1862:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_repl_uuid, rattr->next_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1863:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_repl_uuid, rattr->prev_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1864:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&hdrp->arch_flags, rattr->user_flags, sizeof(struct arch_flags)); data/pmdk-1.10/src/common/set.c:1875:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rattr->signature, hdrp->signature, POOL_HDR_SIG_LEN); data/pmdk-1.10/src/common/set.c:1880:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rattr->poolset_uuid, hdrp->poolset_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1881:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rattr->uuid, hdrp->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1882:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rattr->next_uuid, hdrp->next_repl_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1883:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rattr->prev_uuid, hdrp->prev_repl_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1884:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rattr->user_flags, &hdrp->arch_flags, sizeof(struct arch_flags)); data/pmdk-1.10/src/common/set.c:1898:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->uuid, rattr->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1899:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_part_uuid, rattr->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:1900:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_part_uuid, rattr->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:2151:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[POOLSET_HDR_SIG_LEN]; data/pmdk-1.10/src/common/set.c:2256:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->poolset_uuid, set->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:2257:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->uuid, PART(rep, partidx)->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:2263:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_part_uuid, PART(rep, 0)->uuid, data/pmdk-1.10/src/common/set.c:2265:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_part_uuid, PART(rep, 0)->uuid, data/pmdk-1.10/src/common/set.c:2268:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_part_uuid, PARTP(rep, partidx)->uuid, data/pmdk-1.10/src/common/set.c:2270:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_part_uuid, PARTN(rep, partidx)->uuid, data/pmdk-1.10/src/common/set.c:2276:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_repl_uuid, attr->prev_repl_uuid, data/pmdk-1.10/src/common/set.c:2279:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_repl_uuid, PART(REPP(set, repidx), 0)->uuid, data/pmdk-1.10/src/common/set.c:2283:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_repl_uuid, attr->next_repl_uuid, data/pmdk-1.10/src/common/set.c:2286:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_repl_uuid, PART(REPN(set, repidx), 0)->uuid, data/pmdk-1.10/src/common/set.c:2309:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&hdrp->arch_flags, attr->arch_flags, POOL_HDR_ARCH_LEN); data/pmdk-1.10/src/common/set.c:3243:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(set->uuid, attr->poolset_uuid, data/pmdk-1.10/src/common/set.c:3269:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(set->replica[0]->part[0].uuid, data/pmdk-1.10/src/common/set.c:3590:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->uuid, rattr->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:3592:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_part_uuid, rattr->uuid, data/pmdk-1.10/src/common/set.c:3595:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_part_uuid, rattr->uuid, data/pmdk-1.10/src/common/set.c:3629:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->signature, hdr->signature, POOL_HDR_SIG_LEN); data/pmdk-1.10/src/common/set.c:3634:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->poolset_uuid, hdr->poolset_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/common/set.c:3646:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdr->signature, attr->signature, POOL_HDR_SIG_LEN); data/pmdk-1.10/src/common/set.c:4212:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[POOLSET_HDR_SIG_LEN]; data/pmdk-1.10/src/common/set.h:187:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[POOL_HDR_SIG_LEN]; /* pool signature */ data/pmdk-1.10/src/common/set.h:190:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char poolset_uuid[POOL_HDR_UUID_LEN]; /* pool uuid */ data/pmdk-1.10/src/common/set.h:191:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char first_part_uuid[POOL_HDR_UUID_LEN]; /* first part uuid */ data/pmdk-1.10/src/common/set.h:192:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char prev_repl_uuid[POOL_HDR_UUID_LEN]; /* prev replica uuid */ data/pmdk-1.10/src/common/set.h:193:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char next_repl_uuid[POOL_HDR_UUID_LEN]; /* next replica uuid */ data/pmdk-1.10/src/common/set.h:194:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char arch_flags[POOL_HDR_ARCH_LEN]; /* arch flags */ data/pmdk-1.10/src/common/set_badblocks.c:171:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bbs_suffix[64]; data/pmdk-1.10/src/common/set_badblocks.c:174:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(bbs_suffix, "_r%u_p%u_badblocks.txt", rep, part); data/pmdk-1.10/src/common/uuid.h:35:18: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. typedef unsigned char uuid_t[POOL_HDR_UUID_LEN]; /* 16 byte binary uuid value */ data/pmdk-1.10/src/common/uuid.h:39:33: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. int util_uuid_from_string(const char uuid[POOL_HDR_UUID_STR_LEN], data/pmdk-1.10/src/common/uuid_linux.c:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char uu[POOL_HDR_UUID_STR_LEN]; data/pmdk-1.10/src/common/vecq.h:80:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. (memcpy((vec)->buffer + (vec)->capacity, (vec)->buffer,\ data/pmdk-1.10/src/core/fs_posix.c:29:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *paths[2] = {path, NULL}; data/pmdk-1.10/src/core/fs_windows.c:36:2: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(search_path + pathlen, "\\*\0"); data/pmdk-1.10/src/core/os_posix.c:46:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return open(pathname, flags, (mode_t)mode); data/pmdk-1.10/src/core/os_posix.c:48:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return open(pathname, flags); data/pmdk-1.10/src/core/os_posix.c:111:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return fopen(pathname, mode); data/pmdk-1.10/src/core/os_posix.c:138:9: [2] (tmpfile) mkstemp: Potential for temporary file vulnerability in some circumstances. Some older Unix-like systems create temp files with permission to write by all by default, so be sure to set the umask to override this. Also, some older Unix systems might fail to use O_EXCL when opening the file, so make sure that O_EXCL is used by the library (CWE-377). return mkstemp(temp); data/pmdk-1.10/src/core/os_thread.h:51:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[44]; /* linux: 40 windows: 44 */ data/pmdk-1.10/src/core/os_thread.h:56:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[56]; /* linux: 56 windows: 13 */ data/pmdk-1.10/src/core/os_thread.h:61:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[48]; /* linux: 48 windows: 12 */ data/pmdk-1.10/src/core/os_thread.h:66:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[32]; /* linux: 8 windows: 32 */ data/pmdk-1.10/src/core/os_thread.h:71:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[16]; /* 16 to be safe */ data/pmdk-1.10/src/core/os_thread.h:80:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[56]; /* linux: 56 windows: 8 */ data/pmdk-1.10/src/core/os_thread.h:85:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[56]; /* linux: 56 windows: 8 */ data/pmdk-1.10/src/core/os_thread.h:90:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[512]; data/pmdk-1.10/src/core/os_windows.c:78:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bom[3]; data/pmdk-1.10/src/core/os_windows.c:485:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(it_buf, iov[i].iov_base, iov[i].iov_len); data/pmdk-1.10/src/core/out.c:42:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char msg[MAXPRINT]; data/pmdk-1.10/src/core/out.c:44:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t wmsg[MAXPRINT]; data/pmdk-1.10/src/core/out.c:159:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). Log_level = atoi(log_level); data/pmdk-1.10/src/core/out.c:169:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char log_file_pid[PATH_MAX]; data/pmdk-1.10/src/core/out.c:181:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UTIL_MAX_ERR_MSG]; data/pmdk-1.10/src/core/out.c:193:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int align = atoi(log_alignment); data/pmdk-1.10/src/core/out.c:204:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char namepath[PATH_MAX]; data/pmdk-1.10/src/core/out.c:343:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAXPRINT]; data/pmdk-1.10/src/core/out.c:347:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char errstr[UTIL_MAX_ERR_MSG] = ""; data/pmdk-1.10/src/core/out.c:421:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char errstr[UTIL_MAX_ERR_MSG] = ""; data/pmdk-1.10/src/core/out.c:441:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(errormsg, "Vsnprintf failed"); data/pmdk-1.10/src/core/out.c:451:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAXPRINT]; data/pmdk-1.10/src/core/util.c:71:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char lib_name[LIB_LOG_LEN]; data/pmdk-1.10/src/core/util.c:72:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char func_name[FUNC_LOG_LEN]; data/pmdk-1.10/src/core/util.c:73:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char suffix[SUFFIX_LEN]; data/pmdk-1.10/src/core/util.c:78:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(suffix, ".BEGIN"); data/pmdk-1.10/src/core/util.c:80:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(suffix, ".END"); data/pmdk-1.10/src/core/util.c:267:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char unit[9] = {0}; data/pmdk-1.10/src/core/util.c:358:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). _Pmreorder_emit = atoi(pmreorder_env); data/pmdk-1.10/src/core/util_windows.c:171:13: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). int size = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, -1, data/pmdk-1.10/src/core/util_windows.c:180:6: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, -1, wstr, data/pmdk-1.10/src/core/util_windows.c:213:13: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). int size = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, in, data/pmdk-1.10/src/core/util_windows.c:218:6: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, in, -1, data/pmdk-1.10/src/core/util_windows.c:261:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(path, "unknown"); data/pmdk-1.10/src/examples/libpmem/full_copy.c:35:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[BUF_LEN]; data/pmdk-1.10/src/examples/libpmem/full_copy.c:60:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[BUF_LEN]; data/pmdk-1.10/src/examples/libpmem/full_copy.c:65:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, buf, cc); data/pmdk-1.10/src/examples/libpmem/full_copy.c:96:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((srcfd = open(argv[1], O_RDONLY)) < 0) { data/pmdk-1.10/src/examples/libpmem/manpage.c:42:2: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(pmemaddr, "hello, persistent memory"); data/pmdk-1.10/src/examples/libpmem/simple_copy.c:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[BUF_LEN]; data/pmdk-1.10/src/examples/libpmem/simple_copy.c:45:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((srcfd = open(argv[1], O_RDONLY)) < 0) { data/pmdk-1.10/src/examples/libpmem/simple_copy.c:69:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pmemaddr, buf, cc); data/pmdk-1.10/src/examples/libpmem2/advanced/advanced.c:37:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). size_t offset = atoi(argv[2]); data/pmdk-1.10/src/examples/libpmem2/advanced/advanced.c:38:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). size_t user_length = atoi(argv[3]); data/pmdk-1.10/src/examples/libpmem2/advanced/advanced.c:41:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fd = open(argv[1], O_RDWR)) < 0) { data/pmdk-1.10/src/examples/libpmem2/basic/basic.c:33:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fd = open(argv[1], O_RDWR)) < 0) { data/pmdk-1.10/src/examples/libpmem2/basic/basic.c:62:2: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(addr, "hello, persistent memory"); data/pmdk-1.10/src/examples/libpmem2/log/log.c:100:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(header->signature, LOG_HDR_SIGNATURE, LOG_HDR_SIGNATURE_LEN); data/pmdk-1.10/src/examples/libpmem2/log/log.c:110:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). ctx->fd = open(path, O_RDWR); data/pmdk-1.10/src/examples/libpmem2/map_multiple_files/map_multiple_files.c:36:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fdsc->fd = open(path, O_RDWR)) < 0) { data/pmdk-1.10/src/examples/libpmem2/redo/redo.c:421:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(path, O_RDWR); data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[DEVICE_ID_LEN]; data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c:104:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(di_old->id, di_new->id, DEVICE_ID_LEN); data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c:332:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->signature, POOL_SIGNATURE, POOL_SIGNATURE_LEN); data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c:626:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int fd = open(file, O_RDWR); data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset.h:10:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[ASSET_NAME_MAX]; data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset.h:11:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char user[ASSET_USER_NAME_MAX]; data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_checkin.c:35:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). assetid = atoi(argv[2]); data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_checkout.c:35:12: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). assetid = atoi(argv[2]); data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_load.c:54:12: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fp = fopen(path_list, "r")) == NULL) { data/pmdk-1.10/src/examples/libpmemblk/manpage.c:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[ELEMENT_SIZE]; data/pmdk-1.10/src/examples/libpmemblk/manpage.c:48:2: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(buf, "hello, world"); data/pmdk-1.10/src/examples/libpmemlog/logfile/addlog.c:95:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *buf[sizeof(long long)] = {0}; data/pmdk-1.10/src/examples/libpmemobj/array/array.c:43:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[MAX_BUFFLEN]; data/pmdk-1.10/src/examples/libpmemobj/array/array.c:66:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *names[MAX_ARRAY_TYPE] = {"", "int", "PMEMoid", "TOID"}; data/pmdk-1.10/src/examples/libpmemobj/array/array.c:413:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). size_t size = atoi(argv[1]); data/pmdk-1.10/src/examples/libpmemobj/array/array.c:444:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). size_t size = atoi(argv[1]); data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:622:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dest->partial, src->partial, data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:767:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(newnode)->keys, D_RO(n)->keys, n_an->num_children); data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:878:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(newnode_n->partial, key + depth, data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:918:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(newnode_n->partial, n_an->partial, data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:944:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst, src, len); data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:1116:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(newnode_an4)->keys, D_RO(n)->keys, 4); data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:1117:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(newnode_an4)->children, data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:1156:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((D_RW(n)->n).partial + prefix, data/pmdk-1.10/src/examples/libpmemobj/libart/art.c:1162:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(child->partial, data/pmdk-1.10/src/examples/libpmemobj/libart/art.h:117:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char partial[MAX_PREFIX_LEN]; data/pmdk-1.10/src/examples/libpmemobj/libart/art.h:125:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char keys[4]; data/pmdk-1.10/src/examples/libpmemobj/libart/art.h:134:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char keys[16]; data/pmdk-1.10/src/examples/libpmemobj/libart/art.h:143:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char keys[256]; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.c:287:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((ctx->fd = open(ctx->filename, flags, ctx->fmode)) < 0) { data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_search.c:221:33: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. s_ctx->search_key = (unsigned char *)strdup(av[optind + 0]); data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c:86:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *art_node_names[art_node_types] = { data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c:518:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((ctx->fd = open(ctx->filename, O_RDONLY)) == -1) data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c:550:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *args[20]; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.h:153:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char partial[MAX_PREFIX_LEN]; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.h:158:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char keys[4]; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.h:164:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char keys[16]; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.h:170:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char keys[256]; data/pmdk-1.10/src/examples/libpmemobj/lists.c:157:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(argv[2]); data/pmdk-1.10/src/examples/libpmemobj/lists.c:179:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int val = atoi(argv[4]); data/pmdk-1.10/src/examples/libpmemobj/map/data_store.c:197:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nops = atoi(argv[3]); data/pmdk-1.10/src/examples/libpmemobj/map/kv_protocol.h:85:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *resp_msg[MAX_RESP_MSG] = { data/pmdk-1.10/src/examples/libpmemobj/map/kv_protocol.h:92:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *kv_cmsg_token[MAX_CMSG] = { data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:127:26: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. response_write(client, (char *)resp_msg[msg], strlen(resp_msg[msg])); data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:145:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[MAX_KEY_LEN]; data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:170:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[MAX_KEY_LEN] = {0}; data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:190:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[MAX_KEY_LEN]; data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:285:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(data->buf + data->len, buf, len); data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:295:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(data->buf + data->len, buf, nread); data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:415:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int port = atoi(argv[3]); data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:223:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). args.seed = atoi(argv[3]); data/pmdk-1.10/src/examples/libpmemobj/map/mapcli.c:259:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[INPUT_BUF_LEN]; data/pmdk-1.10/src/examples/libpmemobj/pi.c:241:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int threads = atoi(argv[3]); data/pmdk-1.10/src/examples/libpmemobj/pi.c:242:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int ops = atoi(argv[4]); data/pmdk-1.10/src/examples/libpmemobj/pmemblk/obj_pmemblk.c:224:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, src, D_RO(bp)->bsize); data/pmdk-1.10/src/examples/libpmemobj/pmemblk/obj_pmemblk.c:252:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst, buf, D_RO(bp)->bsize); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog.c:133:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(logp->data, buf, count); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog.c:195:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(logp->data, buf, count); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog.c:314:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tmp, buf, len); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_macros.c:120:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(logp)->data, buf, count); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_macros.c:162:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *buf = (char *)iov[i].iov_base; data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_macros.c:171:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(logp)->data, buf, count); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_macros.c:271:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tmp, buf, len); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_minimal.c:204:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tmp, buf, len); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_simple.c:218:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *buf = (char *)iov[i].iov_base; data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_simple.c:316:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tmp, buf, len); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:359:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(entry)->name, name, len); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:732:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff, &D_RW(block)[block_off], block_size); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:781:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&D_RW(block)[block_off], buff, block_size); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:1671:30: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. pmemobjfs_fuse_utimens(const char *path, const struct timespec tv[2]) data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2213:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char unit[3] = {0}; data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2348:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(path, dir, dirlen); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2354:11: [2] (tmpfile) mkstemp: Potential for temporary file vulnerability in some circumstances. Some older Unix-like systems create temp files with permission to write by all by default, so be sure to set the umask to override this. Also, some older Unix systems might fail to use O_EXCL when opening the file, so make sure that O_EXCL is used by the library (CWE-377). int fd = mkstemp(path); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2411:11: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). log_fh = fopen("pmemobjfs.log", "w+"); data/pmdk-1.10/src/examples/libpmemobj/queue/queue.c:104:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(entry)->data, data, len); data/pmdk-1.10/src/examples/libpmemobj/queue/queue.c:172:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *ops_str[MAX_QUEUE_OP] = data/pmdk-1.10/src/examples/libpmemobj/slab_allocator/main.c:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[100]; data/pmdk-1.10/src/examples/libpmemobj/slab_allocator/main.c:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[500]; data/pmdk-1.10/src/examples/libpmemobj/string_store/layout.h:13:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN]; data/pmdk-1.10/src/examples/libpmemobj/string_store/writer.c:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN] = {0}; data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/layout.h:12:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN]; data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/writer.c:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN] = {0}; data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/writer.c:41:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rootp->buf, buf, strlen(buf)); data/pmdk-1.10/src/examples/libpmemobj/string_store_tx_type/layout.h:15:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN]; data/pmdk-1.10/src/examples/libpmemobj/string_store_tx_type/writer.c:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN] = {0}; data/pmdk-1.10/src/examples/libpmemobj/tree_map/btree_map.c:362:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&D_RW(node)->items[D_RO(node)->n], D_RO(rn)->items, data/pmdk-1.10/src/examples/libpmemobj/tree_map/btree_map.c:364:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&D_RW(node)->slots[D_RO(node)->n], D_RO(rn)->slots, data/pmdk-1.10/src/examples/libpmemobj/tree_map/rtree_map.c:128:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(node)->key, key, key_size); data/pmdk-1.10/src/examples/libpmemobj/tree_map/rtree_map.c:340:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(new_key, D_RO(tmp)->key, D_RO(tmp)->key_size); data/pmdk-1.10/src/examples/libpmemobj/tree_map/rtree_map.c:341:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(new_key + D_RO(tmp)->key_size, data/pmdk-1.10/src/examples/libpmemobj/tree_map/rtree_map.c:352:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(D_RW(*node)->slots, data/pmdk-1.10/src/examples/librpmem/fibonacci/fibonacci.c:22:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[FIBO_SIG_LEN]; data/pmdk-1.10/src/examples/librpmem/fibonacci/fibonacci.c:36:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char pool_hdr[RPMEM_HDR_SIZE]; data/pmdk-1.10/src/examples/librpmem/fibonacci/fibonacci.c:38:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char reserved[RESERVED_SIZE]; data/pmdk-1.10/src/examples/librpmem/hello.c:31:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char str[STR_SIZE]; data/pmdk-1.10/src/examples/pmreorder/pmreorder_list.c:68:7: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen("pmreorder_list.log", "w+"); data/pmdk-1.10/src/include/libpmemobj/thread.h:25:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[_POBJ_CL_SIZE]; data/pmdk-1.10/src/include/libpmemobj/thread.h:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[_POBJ_CL_SIZE]; data/pmdk-1.10/src/include/libpmemobj/thread.h:35:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[_POBJ_CL_SIZE]; data/pmdk-1.10/src/include/libpmemobj/tx.h:171:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return memcpy(dest, src, num); data/pmdk-1.10/src/include/librpmem.h:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[RPMEM_POOL_HDR_SIG_LEN]; /* pool signature */ data/pmdk-1.10/src/include/librpmem.h:35:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char poolset_uuid[RPMEM_POOL_HDR_UUID_LEN]; /* pool uuid */ data/pmdk-1.10/src/include/librpmem.h:36:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char uuid[RPMEM_POOL_HDR_UUID_LEN]; /* first part uuid */ data/pmdk-1.10/src/include/librpmem.h:37:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char next_uuid[RPMEM_POOL_HDR_UUID_LEN]; /* next pool uuid */ data/pmdk-1.10/src/include/librpmem.h:38:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char prev_uuid[RPMEM_POOL_HDR_UUID_LEN]; /* prev pool uuid */ data/pmdk-1.10/src/include/librpmem.h:39:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char user_flags[RPMEM_POOL_USER_FLAGS_LEN]; /* user flags */ data/pmdk-1.10/src/libpmem/pmem.c:344:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int val = atoi(ptr); data/pmdk-1.10/src/libpmem2/auto_flush_linux.c:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char domain_value[DOMAIN_VALUE_LEN]; data/pmdk-1.10/src/libpmem2/auto_flush_linux.c:90:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char domain_path[PATH_MAX]; data/pmdk-1.10/src/libpmem2/deep_flush_linux.c:31:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char deep_flush_path[PATH_MAX]; data/pmdk-1.10/src/libpmem2/deep_flush_linux.c:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char rbuf[2]; data/pmdk-1.10/src/libpmem2/map.c:70:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char str[11]; /* strlen("CACHE_LINE") + 1 */ data/pmdk-1.10/src/libpmem2/map_posix.c:53:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *granularity_err_msg[3][3] = { data/pmdk-1.10/src/libpmem2/map_posix.c:70:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *granularity_err_msg[3][3] = { data/pmdk-1.10/src/libpmem2/map_windows.c:40:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *granularity_err_msg[3][3] = { data/pmdk-1.10/src/libpmem2/pmem2_utils_linux.c:40:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char spath[PATH_MAX]; data/pmdk-1.10/src/libpmem2/pmem2_utils_linux.c:54:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char npath[PATH_MAX]; data/pmdk-1.10/src/libpmem2/region_namespace_ndctl.c:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/libpmem2/region_namespace_ndctl.c:71:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/libpmem2/region_namespace_ndctl.c:72:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dev_id[BUFF_LENGTH]; data/pmdk-1.10/src/libpmem2/region_namespace_ndctl.c:91:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[BUFF_LENGTH]; data/pmdk-1.10/src/libpmem2/usc_windows.c:23:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t tmp[10]; data/pmdk-1.10/src/libpmem2/x86_64/cpu.c:99:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[0x20]; data/pmdk-1.10/src/libpmemblk/blk.c:92:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, (char *)pbp->data + off, count); data/pmdk-1.10/src/libpmemblk/blk.c:131:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dest, buf, count); data/pmdk-1.10/src/libpmemblk/btt.c:1198:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(info.sig, Sig, BTTINFO_SIG_LEN); data/pmdk-1.10/src/libpmemblk/btt.c:1199:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(info.uuid, bttp->uuid, BTTINFO_UUID_LEN); data/pmdk-1.10/src/libpmemblk/btt.c:1200:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(info.parent_uuid, bttp->parent_uuid, BTTINFO_UUID_LEN); data/pmdk-1.10/src/libpmemblk/btt.c:1424:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bttp->parent_uuid, parent_uuid, BTTINFO_UUID_LEN); data/pmdk-1.10/src/libpmemblk/btt_layout.h:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char sig[BTTINFO_SIG_LEN]; /* must be "BTT_ARENA_INFO\0\0" */ data/pmdk-1.10/src/libpmemblk/btt_layout.h:49:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char unused[BTTINFO_UNUSED_LEN]; /* must be zero */ data/pmdk-1.10/src/libpmemlog/log.c:475:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&data[write_offset], buf, count); data/pmdk-1.10/src/libpmemlog/log.c:557:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&data[write_offset], buf, count); data/pmdk-1.10/src/libpmemobj/heap_layout.h:124:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[HEAP_SIGNATURE_LEN]; data/pmdk-1.10/src/libpmemobj/memops.c:155:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return memcpy(dest, src, len); data/pmdk-1.10/src/libpmemobj/obj.c:1288:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int nlanes = atoi(env_nlanes); data/pmdk-1.10/src/libpmemobj/obj.h:107:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char layout[PMEMOBJ_MAX_LAYOUT]; data/pmdk-1.10/src/libpmemobj/obj.h:112:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char unused[OBJ_DSC_P_UNUSED]; /* must be zero */ data/pmdk-1.10/src/libpmemobj/obj.h:132:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pmem_reserved[496]; /* must be zeroed */ data/pmdk-1.10/src/libpmemobj/obj.h:195:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char unused2[PMEM_OBJ_POOL_UNUSED2_SIZE]; data/pmdk-1.10/src/libpmemobj/pmemops.h:34:12: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy_fn memcpy; /* persistent memcpy function */ data/pmdk-1.10/src/libpmemobj/pmemops.h:83:16: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return p_ops->memcpy(p_ops->base, dest, src, len, flags); data/pmdk-1.10/src/libpmemobj/sync.h:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[_POBJ_CL_SIZE]; data/pmdk-1.10/src/libpmemobj/sync.h:43:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[_POBJ_CL_SIZE]; data/pmdk-1.10/src/libpmemobj/sync.h:60:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[_POBJ_CL_SIZE]; data/pmdk-1.10/src/libpmemobj/tx.c:231:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ptr, args->copy_ptr, args->copy_size); data/pmdk-1.10/src/libpmemobj/tx.c:771:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(txd->env, env, sizeof(jmp_buf)); data/pmdk-1.10/src/libpmemobj/ulog.c:451:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b->data, src, ncopy); data/pmdk-1.10/src/libpmemobj/ulog.c:462:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(last_cacheline, srcof + rcopy, lcopy); data/pmdk-1.10/src/libpmempool/check_btt_info.c:234:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bttd->sig, btts->sig, BTTINFO_SIG_LEN); data/pmdk-1.10/src/libpmempool/check_btt_info.c:235:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bttd->uuid, btts->uuid, BTTINFO_UUID_LEN); data/pmdk-1.10/src/libpmempool/check_btt_info.c:236:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bttd->parent_uuid, btts->parent_uuid, BTTINFO_UUID_LEN); data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:223:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&loc->hdr.signature, &def_hdr.signature, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:340:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&loc->hdr.arch_flags, &loc->valid_part_hdrp->arch_flags, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:489:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdr.poolset_uuid, loc->valid_puuid, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:616:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdr.uuid, loc->valid_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:702:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdr.next_part_uuid, loc->next_part_hdrp->uuid, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:709:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdr.prev_part_uuid, loc->prev_part_hdrp->uuid, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:716:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdr.next_repl_uuid, loc->next_repl_hdrp->uuid, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:723:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdr.prev_repl_uuid, loc->prev_repl_hdrp->uuid, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:861:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdrp, &loc->hdr, sizeof(loc->hdr)); data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:961:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&ppc->pool->hdr.pool, poolset->replica[0]->part[0].hdr, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:966:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&hdr, &ppc->pool->hdr.pool, sizeof(struct pool_hdr)); data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:1001:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&ppc->pool->hdr.pool, poolset->replica[0]->part[0].hdr, data/pmdk-1.10/src/libpmempool/check_pool_hdr.c:1006:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&hdr, &ppc->pool->hdr.pool, sizeof(struct pool_hdr)); data/pmdk-1.10/src/libpmempool/check_sds.c:170:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(loc->hdrp, &loc->hdr, sizeof(loc->hdr)); data/pmdk-1.10/src/libpmempool/check_util.c:332:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UTIL_MAX_ERR_MSG]; data/pmdk-1.10/src/libpmempool/check_util.c:630:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/libpmempool/check_util.c:651:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char uuid_str[UUID_STR_MAX] = {0, }; data/pmdk-1.10/src/libpmempool/check_util.h:82:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char prefix[PREFIX_MAX_SIZE]; data/pmdk-1.10/src/libpmempool/feature.c:97:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char msg[FEATURE_MAXPRINT]; data/pmdk-1.10/src/libpmempool/feature.c:126:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(features, &hdr.features, sizeof(*features)); data/pmdk-1.10/src/libpmempool/feature.c:260:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst, src, sizeof(*src)); data/pmdk-1.10/src/libpmempool/libpmempool.c:350:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[ANSWER_BUFFSIZE]; data/pmdk-1.10/src/libpmempool/pool.c:359:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(params->obj.layout, pop->layout, data/pmdk-1.10/src/libpmempool/pool.c:595:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff, (char *)pool->set_file->addr + off, nbytes); data/pmdk-1.10/src/libpmempool/pool.c:620:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char *)pool->set_file->addr + off, buff, nbytes); data/pmdk-1.10/src/libpmempool/pool.c:679:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(daddr, saddr, file->size); data/pmdk-1.10/src/libpmempool/pool.c:700:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst, buf, (size_t)buf_read); data/pmdk-1.10/src/libpmempool/pool.c:777:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(daddr, saddr, smapped); data/pmdk-1.10/src/libpmempool/pool.c:913:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->signature, sig, POOL_HDR_SIG_LEN); data/pmdk-1.10/src/libpmempool/pool.c:1053:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(infop, &arenap->btt_info, sizeof(*infop)); data/pmdk-1.10/src/libpmempool/pool.h:42:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[POOL_HDR_SIG_LEN]; data/pmdk-1.10/src/libpmempool/pool.h:55:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char layout[PMEMOBJ_MAX_LAYOUT]; data/pmdk-1.10/src/libpmempool/replica.c:1503:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(poolset_uuid, HDR(rep, p)->poolset_uuid, data/pmdk-1.10/src/libpmempool/replica.c:1688:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(poolset_uuid, HDR(REP(set, r_h), 0)->poolset_uuid, data/pmdk-1.10/src/libpmempool/replica.c:1931:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(features, &hdrp->features, sizeof(*features)); data/pmdk-1.10/src/libpmempool/replica.c:1948:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(features, &hdrp->features, sizeof(*features)); data/pmdk-1.10/src/libpmempool/sync.c:120:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst_addr, src_addr, len); data/pmdk-1.10/src/libpmempool/sync.c:926:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rep->part[p].uuid, hdrp->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/libpmempool/sync.c:976:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rep->part[p].uuid, hdrp->next_part_uuid, data/pmdk-1.10/src/libpmempool/sync.c:982:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rep->part[p].uuid, hdrp->prev_part_uuid, data/pmdk-1.10/src/libpmempool/sync.c:995:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rep->part[p].uuid, hdrp->next_repl_uuid, data/pmdk-1.10/src/libpmempool/sync.c:1008:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rep->part[p].uuid, hdrp->prev_repl_uuid, data/pmdk-1.10/src/libpmempool/sync.c:1035:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(set->uuid, src_hdr0->poolset_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/libpmempool/sync.c:1209:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_part_uuid, PARTP(rep, p)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1211:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_part_uuid, PARTN(rep, p)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1217:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(prev_hdrp->next_part_uuid, PART(rep, p)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1224:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(next_hdrp->prev_part_uuid, PART(rep, p)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1259:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_repl_uuid, PART(prev_r, 0)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1261:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_repl_uuid, PART(next_r, 0)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1273:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(prev_hdrp->next_repl_uuid, PART(rep, 0)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1288:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(next_hdrp->prev_repl_uuid, PART(rep, 0)->uuid, data/pmdk-1.10/src/libpmempool/sync.c:1313:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->poolset_uuid, set->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/libpmempool/transform.c:636:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdr->next_part_uuid, hdr->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/libpmempool/transform.c:637:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdr->prev_part_uuid, hdr->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/libpmempool/transform.c:656:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(PART(rep, 0)->uuid, HDR(rep, 0)->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/libpmempool/transform.c:678:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_part_uuid, PARTN(rep, p)->uuid, data/pmdk-1.10/src/libpmempool/transform.c:680:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_part_uuid, PARTP(rep, p)->uuid, data/pmdk-1.10/src/libpmempool/transform.c:685:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->next_repl_uuid, hdr0->next_repl_uuid, data/pmdk-1.10/src/libpmempool/transform.c:687:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->prev_repl_uuid, hdr0->prev_repl_uuid, data/pmdk-1.10/src/libpmempool/transform.c:689:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp->poolset_uuid, hdr0->poolset_uuid, data/pmdk-1.10/src/librpmem/rpmem.c:49:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fip_service[NI_MAXSERV]; data/pmdk-1.10/src/librpmem/rpmem.c:855:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *argv[5]; data/pmdk-1.10/src/librpmem/rpmem_fip.c:1276:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->data, laddr, len); data/pmdk-1.10/src/librpmem/rpmem_fip.c:1902:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&cbuff[rd], rd_buff, rd_len); data/pmdk-1.10/src/librpmem/rpmem_obc.c:139:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pool_desc->desc, desc, size); data/pmdk-1.10/src/librpmem/rpmem_ssh.c:28:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char error_str[ERR_BUFF_LEN + 1]; data/pmdk-1.10/src/librpmem/rpmem_ssh.c:104:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&cmd[cmd_len], arg, len); data/pmdk-1.10/src/librpmem/rpmem_ssh.c:420:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UTIL_MAX_ERR_MSG]; data/pmdk-1.10/src/rpmem_common/rpmem_common.c:102:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *pm2str[MAX_RPMEM_PM] = { data/pmdk-1.10/src/rpmem_common/rpmem_common.c:119:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *provider2str[MAX_RPMEM_PROV] = { data/pmdk-1.10/src/rpmem_common/rpmem_common.c:158:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str[INET6_ADDRSTRLEN + NI_MAXSERV + 1]; data/pmdk-1.10/src/rpmem_common/rpmem_common.c:159:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ip[INET6_ADDRSTRLEN]; data/pmdk-1.10/src/rpmem_common/rpmem_common.h:116:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char user[RPMEM_MAX_USER]; data/pmdk-1.10/src/rpmem_common/rpmem_common.h:117:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char node[RPMEM_MAX_NODE]; data/pmdk-1.10/src/rpmem_common/rpmem_common.h:118:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char service[RPMEM_MAX_SERVICE]; data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:50:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[RPMEM_POOL_HDR_SIG_LEN]; /* pool signature */ data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:55:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char poolset_uuid[RPMEM_POOL_HDR_UUID_LEN]; /* pool uuid */ data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:56:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char uuid[RPMEM_POOL_HDR_UUID_LEN]; /* first part uuid */ data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:57:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char next_uuid[RPMEM_POOL_HDR_UUID_LEN]; /* next pool uuid */ data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:58:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char prev_uuid[RPMEM_POOL_HDR_UUID_LEN]; /* prev pool uuid */ data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:59:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char user_flags[RPMEM_POOL_USER_FLAGS_LEN]; /* user flags */ data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:510:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst->signature, src->signature, sizeof(src->signature)); data/pmdk-1.10/src/rpmem_common/rpmem_proto.h:529:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst->signature, src->signature, sizeof(src->signature)); data/pmdk-1.10/src/test/blk_non_zero/blk_non_zero.c:46:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char descr[100]; data/pmdk-1.10/src/test/blk_non_zero/blk_non_zero.c:51:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(descr, "{%u} TORN at byte %d", val, i); data/pmdk-1.10/src/test/blk_non_zero/blk_non_zero.c:55:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(descr, "{%u}", val); data/pmdk-1.10/src/test/blk_recovery/blk_recovery.c:75:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char descr[100]; data/pmdk-1.10/src/test/blk_recovery/blk_recovery.c:80:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(descr, "{%u} TORN at byte %d", val, i); data/pmdk-1.10/src/test/blk_recovery/blk_recovery.c:84:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(descr, "{%u}", val); data/pmdk-1.10/src/test/blk_rw/blk_rw.c:41:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char descr[100]; data/pmdk-1.10/src/test/blk_rw/blk_rw.c:46:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(descr, "{%u} TORN at byte %d", val, i); data/pmdk-1.10/src/test/blk_rw/blk_rw.c:50:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(descr, "{%u}", val); data/pmdk-1.10/src/test/ctl_cow/ctl_cow.c:75:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char x[512] = "Test blk x"; data/pmdk-1.10/src/test/ctl_cow/ctl_cow.c:76:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char y[512] = "Test blk y"; data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:95:32: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). test_obj(const char *path, int open) data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:98:6: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (open) { data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:118:32: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). test_blk(const char *path, int open) data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:121:6: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (open) { data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:140:32: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). test_log(const char *path, int open) data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:150:6: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (open) { data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:181:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int prefault = atoi(argv[3]); data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:182:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int open = atoi(argv[4]); data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:187:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). test_obj(path, open); data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:191:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). test_blk(path, open); data/pmdk-1.10/src/test/ctl_prefault/ctl_prefault.c:195:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). test_log(path, open); data/pmdk-1.10/src/test/libpmempool_api/libpmempool_test.c:44:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UT_MAX_ERR_MSG]; data/pmdk-1.10/src/test/libpmempool_api/libpmempool_test.c:90:6: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (atoi(value) > 0) data/pmdk-1.10/src/test/libpmempool_api_win/libpmempool_test_win.c:43:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UT_MAX_ERR_MSG]; data/pmdk-1.10/src/test/libpmempool_api_win/libpmempool_test_win.c:92:6: [2] (integer) _wtoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (_wtoi(value) > 0) data/pmdk-1.10/src/test/log_basic/log_basic.c:33:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *str[6] = { data/pmdk-1.10/src/test/log_recovery/log_recovery.c:23:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *str[6] = { data/pmdk-1.10/src/test/log_walker/log_walker.c:20:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *str[6] = { data/pmdk-1.10/src/test/mmap/mmap.c:92:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pat[PAGE_SIZE]; data/pmdk-1.10/src/test/mmap/mmap.c:93:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[PAGE_SIZE]; data/pmdk-1.10/src/test/mmap/mmap.c:98:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, addr + PAGE_SIZE * i, PAGE_SIZE); data/pmdk-1.10/src/test/mmap/mmap.c:111:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr + PAGE_SIZE * i, pat, PAGE_SIZE); data/pmdk-1.10/src/test/mmap/mmap.c:137:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pat[PAGE_SIZE] = { 0 }; data/pmdk-1.10/src/test/mmap/mmap.c:138:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[PAGE_SIZE]; data/pmdk-1.10/src/test/mmap/mmap.c:164:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr + PAGE_SIZE * i, pat, PAGE_SIZE); data/pmdk-1.10/src/test/obj_alloc/obj_alloc.c:24:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[CHUNKSIZE - sizeof(TOID(struct object))]; data/pmdk-1.10/src/test/obj_basic_integration/obj_basic_integration.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char teststr[TEST_STR_LEN]; data/pmdk-1.10/src/test/obj_basic_integration/obj_basic_integration.c:36:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char teststr[TEST_STR_LEN]; data/pmdk-1.10/src/test/obj_check/obj_check.c:35:6: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (open) { data/pmdk-1.10/src/test/obj_critnib/obj_critnib.c:276:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ws[65536] = { data/pmdk-1.10/src/test/obj_ctl_alignment/obj_ctl_alignment.c:52:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char query[1024]; data/pmdk-1.10/src/test/obj_ctl_arenas/obj_ctl_arenas.c:79:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char arena_idx_size[CTL_QUERY_LEN]; data/pmdk-1.10/src/test/obj_ctl_arenas/obj_ctl_arenas.c:283:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char arena_idx_auto[CTL_QUERY_LEN]; data/pmdk-1.10/src/test/obj_ctl_arenas/obj_ctl_arenas.c:378:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char alloc_class_idx_desc[CTL_QUERY_LEN]; data/pmdk-1.10/src/test/obj_defrag_advanced/obj_defrag_advanced.c:145:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff1[FGETS_BUFF_LEN]; data/pmdk-1.10/src/test/obj_defrag_advanced/obj_defrag_advanced.c:146:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff2[FGETS_BUFF_LEN]; data/pmdk-1.10/src/test/obj_defrag_advanced/obj_defrag_advanced.c:383:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dump1[PATH_MAX]; data/pmdk-1.10/src/test/obj_defrag_advanced/obj_defrag_advanced.c:384:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dump2[PATH_MAX]; data/pmdk-1.10/src/test/obj_defrag_advanced/obj_defrag_advanced.c:466:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(¶ms->cparams, &cparams, sizeof(cparams)); data/pmdk-1.10/src/test/obj_defrag_advanced/obj_defrag_advanced.c:529:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dump[PATH_MAX]; data/pmdk-1.10/src/test/obj_direct/obj_direct.c:100:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. UT_ASSERTeq((char *)obj_direct(oids[i]) - off, data/pmdk-1.10/src/test/obj_direct/obj_direct.c:101:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. (char *)pops[i]); data/pmdk-1.10/src/test/obj_fragmentation2/obj_fragmentation2.c:255:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int w = atoi(argv[2]); data/pmdk-1.10/src/test/obj_fragmentation2/obj_fragmentation2.c:258:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). randomize((unsigned)atoi(argv[3])); data/pmdk-1.10/src/test/obj_fragmentation2/obj_fragmentation2.c:262:26: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int defrag = argc > 4 ? atoi(argv[4]) != 0 : 0; data/pmdk-1.10/src/test/obj_heap_interrupt/obj_heap_interrupt.c:73:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int scenario = atoi(argv[3]); data/pmdk-1.10/src/test/obj_heap_state/obj_heap_state.c:17:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char buf[ALLOC_SIZE]; data/pmdk-1.10/src/test/obj_list/obj_list.h:33:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[48]; data/pmdk-1.10/src/test/obj_mem/obj_mem.c:41:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char c[4096]; data/pmdk-1.10/src/test/obj_memcheck/obj_memcheck.c:29:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. volatile char tmp[100]; data/pmdk-1.10/src/test/obj_memcheck/obj_memcheck.c:44:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. volatile char tmp[1000]; data/pmdk-1.10/src/test/obj_memops/obj_memops.c:450:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return memcpy(dest, src, len); data/pmdk-1.10/src/test/obj_persist_count/obj_persist_count.c:377:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&tx_counter, &ops_counter, sizeof(ops_counter)); data/pmdk-1.10/src/test/obj_pmalloc_basic/obj_pmalloc_basic.c:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char lanes[LANE_TOTAL_SIZE]; data/pmdk-1.10/src/test/obj_pmalloc_basic/obj_pmalloc_basic.c:31:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char padding[PAD_SIZE]; /* to page boundary */ data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:56:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. MMAP((char *)pops[i] + PMEMOBJ_MIN_POOL, Ut_pagesize, data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:90:24: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void *before_pool = (char *)pops[i] - 1; data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:91:23: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void *after_pool = (char *)pops[i] + PMEMOBJ_MIN_POOL + 1; data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:92:23: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void *start_pool = (char *)pops[i]; data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:93:21: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void *end_pool = (char *)pops[i] + PMEMOBJ_MIN_POOL - 1; data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:94:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void *edge = (char *)pops[i] + PMEMOBJ_MIN_POOL; data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:95:19: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void *middle = (char *)pops[i] + (PMEMOBJ_MIN_POOL / 2); data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:96:19: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void *in_oid = (char *)pmemobj_direct(oids[i]) + data/pmdk-1.10/src/test/obj_realloc/obj_realloc.c:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[CHUNKSIZE - sizeof(TOID(struct object))]; data/pmdk-1.10/src/test/obj_realloc/obj_realloc.c:259:21: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). check_integrity = atoi(argv[2]); data/pmdk-1.10/src/test/obj_recovery/obj_recovery.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char large_data[MB]; data/pmdk-1.10/src/test/obj_reorder_basic/obj_reorder_basic.c:23:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN]; data/pmdk-1.10/src/test/obj_reorder_basic/obj_reorder_basic.c:35:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAX_BUF_LEN]; data/pmdk-1.10/src/test/obj_sds/obj_sds.c:35:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int init = atoi(argv[1]); data/pmdk-1.10/src/test/obj_sds/obj_sds.c:36:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int fail = atoi(argv[2]); data/pmdk-1.10/src/test/obj_tx_add_range/obj_tx_add_range.c:41:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[OBJ_SIZE - sizeof(size_t)]; data/pmdk-1.10/src/test/obj_tx_add_range/obj_tx_add_range.c:585:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char after_abort[OVERLAP_SIZE]; data/pmdk-1.10/src/test/obj_tx_add_range/obj_tx_add_range.c:586:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(after_abort, D_RO(obj)->data, OVERLAP_SIZE); data/pmdk-1.10/src/test/obj_tx_add_range/obj_tx_add_range.c:1085:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int do_reopen = atoi(argv[2]); data/pmdk-1.10/src/test/obj_tx_add_range_direct/obj_tx_add_range_direct.c:28:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char data[OBJ_SIZE - sizeof(size_t)]; data/pmdk-1.10/src/test/obj_tx_alloc/obj_tx_alloc.c:46:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[OBJ_SIZE - sizeof(size_t)]; data/pmdk-1.10/src/test/obj_tx_free/obj_tx_free.c:39:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[OBJ_SIZE - sizeof(size_t)]; data/pmdk-1.10/src/test/obj_tx_realloc/obj_tx_realloc.c:37:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[OBJ_SIZE - sizeof(size_t)]; data/pmdk-1.10/src/test/obj_tx_realloc/obj_tx_realloc.c:44:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[OBJ_SIZE - sizeof(size_t)]; data/pmdk-1.10/src/test/out_err/out_err.c:22:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UT_MAX_ERR_MSG]; data/pmdk-1.10/src/test/out_err_win/out_err_win.c:22:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[UT_MAX_ERR_MSG]; data/pmdk-1.10/src/test/pmem2_badblock_mocks/pmem2_badblock_mocks.c:314:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). (argc == 5) ? atoi(argv[ARG_BB_SET]) : DEFAULT_BB_SET; data/pmdk-1.10/src/test/pmem2_badblock_mocks/pmem2_badblock_mocks.c:329:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). UT_ASSERTeq(atoi(MAX_BB_SET_STR), MAX_BB_SET); data/pmdk-1.10/src/test/pmem2_deep_flush/pmem2_deep_flush.c:126:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pattern[2] = {'1', '\n'}; data/pmdk-1.10/src/test/pmem2_deep_flush/pmem2_deep_flush.c:137:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buffer, pattern, sizeof(pattern)); data/pmdk-1.10/src/test/pmem2_granularity/mocks_dax_windows.c:21:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). size_t is_pmem = atoi(os_getenv("IS_PMEM")); data/pmdk-1.10/src/test/pmem2_granularity/mocks_posix.c:24:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (str_map_sync && atoi(str_map_sync) == 1) { data/pmdk-1.10/src/test/pmem2_granularity/mocks_posix.c:43:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FUNC_MOCK(open, int, const char *path, int flags, ...) data/pmdk-1.10/src/test/pmem2_granularity/mocks_posix.c:53:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return _FUNC_REAL(open)(path, flags, mode); data/pmdk-1.10/src/test/pmem2_granularity/mocks_posix.c:56:20: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return _FUNC_REAL(open)(mock_path, flags, mode); data/pmdk-1.10/src/test/pmem2_granularity/pmem2_granularity.c:45:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int is_eadr = atoi(os_getenv("IS_EADR")); data/pmdk-1.10/src/test/pmem2_granularity/pmem2_granularity.c:74:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int is_eadr = atoi(os_getenv("IS_EADR")); data/pmdk-1.10/src/test/pmem2_granularity/pmem2_granularity.c:75:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int is_pmem = atoi(os_getenv("IS_PMEM")); data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:149:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, word, length); data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:282:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int gran = atoi(in); data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:526:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(initial_state, addr, size); data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:982:40: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. UT_ASSERTeq(pmem2_get_memcpy_fn(map), memcpy); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:420:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&map_copy, map, sizeof(*map)); data/pmdk-1.10/src/test/pmem2_mem_ext/pmem2_mem_ext.c:89:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int flag = atoi(argv[4]); data/pmdk-1.10/src/test/pmem2_memcpy/pmem2_memcpy.c:58:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int dest_off = atoi(argv[2]); data/pmdk-1.10/src/test/pmem2_memcpy/pmem2_memcpy.c:59:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int src_off = atoi(argv[3]); data/pmdk-1.10/src/test/pmem2_memmove/memmove_common.c:61:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(srcshadow, src, bytes); data/pmdk-1.10/src/test/pmem2_memmove/memmove_common.c:62:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dstshadow, dst, bytes); data/pmdk-1.10/src/test/pmem2_movnt_align/movnt_align_common.c:44:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(Scratch + doff, Src + soff, len); data/pmdk-1.10/src/test/pmem2_persist_valgrind/pmem2_persist_valgrind.c:82:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((void *)((uintptr_t)addr + offset), DATA, sizeof(DATA)); data/pmdk-1.10/src/test/pmem_deep_persist/mocks_posix.c:53:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pattern[2] = {'1', '\n'}; data/pmdk-1.10/src/test/pmem_deep_persist/mocks_posix.c:54:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buffer, pattern, sizeof(pattern)); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:16:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FUNC_MOCK(open, int, const char *path, int flags, ...) data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:24:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return _FUNC_REAL(open)(path, flags, mode); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:27:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path2[PATH_MAX] = { 0 }; data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:30:20: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return _FUNC_REAL(open)(path2, flags, mode); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:48:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path2[PATH_MAX] = { 0 }; data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:64:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path2[PATH_MAX] = { 0 }; data/pmdk-1.10/src/test/pmem_has_auto_flush_win/mocks_windows.c:59:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char sig[NFIT_SIGNATURE_LEN] = NFIT_STR_SIGNATURE; data/pmdk-1.10/src/test/pmem_has_auto_flush_win/mocks_windows.c:62:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pFirmwareTableBuffer, &nfit, nfit.length); data/pmdk-1.10/src/test/pmem_has_auto_flush_win/mocks_windows.c:69:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char *)pFirmwareTableBuffer + nfit.length, &pc, pc.length); data/pmdk-1.10/src/test/pmem_has_auto_flush_win/pmem_has_auto_flush_win.c:48:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). Pc_type = (size_t)atoi(argv[2]); data/pmdk-1.10/src/test/pmem_has_auto_flush_win/pmem_has_auto_flush_win.c:49:28: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). Pc_capabilities = (size_t)atoi(argv[3]); data/pmdk-1.10/src/test/pmem_is_pmem_windows/pmem_is_pmem_windows.c:129:32: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (str_pmem_is_pmem_force && atoi(str_pmem_is_pmem_force) == 1) data/pmdk-1.10/src/test/pmem_map_file/pmem_map_file.c:105:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pat[CHECK_BYTES]; data/pmdk-1.10/src/test/pmem_map_file/pmem_map_file.c:106:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[CHECK_BYTES]; data/pmdk-1.10/src/test/pmem_map_file/pmem_map_file.c:117:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, pat, CHECK_BYTES); data/pmdk-1.10/src/test/pmem_map_file/pmem_map_file.c:125:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, pat, CHECK_BYTES); data/pmdk-1.10/src/test/pmem_map_file/pmem_map_file.c:165:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). use_mlen = atoi(argv[i + 4]); data/pmdk-1.10/src/test/pmem_map_file/pmem_map_file.c:166:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). use_is_pmem = atoi(argv[i + 5]); data/pmdk-1.10/src/test/pmem_map_file_win/pmem_map_file_win.c:85:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pat[CHECK_BYTES]; data/pmdk-1.10/src/test/pmem_map_file_win/pmem_map_file_win.c:86:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[CHECK_BYTES]; data/pmdk-1.10/src/test/pmem_map_file_win/pmem_map_file_win.c:97:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, pat, CHECK_BYTES); data/pmdk-1.10/src/test/pmem_map_file_win/pmem_map_file_win.c:105:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, pat, CHECK_BYTES); data/pmdk-1.10/src/test/pmem_map_file_win/pmem_map_file_win.c:144:14: [2] (integer) _wtoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). use_mlen = _wtoi(argv[i + 4]); data/pmdk-1.10/src/test/pmem_map_file_win/pmem_map_file_win.c:145:17: [2] (integer) _wtoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). use_is_pmem = _wtoi(argv[i + 5]); data/pmdk-1.10/src/test/pmem_memcpy/pmem_memcpy.c:116:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int dest_off = atoi(argv[2]); data/pmdk-1.10/src/test/pmem_memcpy/pmem_memcpy.c:117:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int src_off = atoi(argv[3]); data/pmdk-1.10/src/test/pmem_valgr_simple/pmem_valgr_simple.c:24:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int dest_off = atoi(argv[2]); data/pmdk-1.10/src/test/pmreorder_flushes/pmreorder_flushes.c:25:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char A[STORE_SIZE]; data/pmdk-1.10/src/test/pmreorder_flushes/pmreorder_flushes.c:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char B[STORE_SIZE]; data/pmdk-1.10/src/test/pmreorder_flushes/pmreorder_flushes.c:27:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char C[STORE_SIZE]; data/pmdk-1.10/src/test/pmreorder_flushes/pmreorder_flushes.c:28:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char D[STORE_SIZE]; data/pmdk-1.10/src/test/pmreorder_flushes/pmreorder_flushes.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char E[STORE_SIZE]; data/pmdk-1.10/src/test/rpmem_addr_ext/rpmem_addr_ext.c:87:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char target[MAX_TARGET_LENGTH]; data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:280:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(id_str); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:335:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(id_str); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:381:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(id_str); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:656:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:691:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int force = atoi(argv[2]); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:692:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int rm_pool_set = atoi(argv[3]); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:723:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(id_str); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:902:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *wait_type_str[2] = { data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:929:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char cmd[100]; data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:958:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char cmd[PATH_MAX]; data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:969:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char cmd[100]; data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:1006:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(id_str); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:1037:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int id = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:1039:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int relaxed = atoi(argv[2]); data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_oob.c:30:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char cmd_buff[CMD_BUFF_SIZE]; data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_test.c:218:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fip_service[NI_MAXSERV]; data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_test.c:331:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fip_service[NI_MAXSERV]; data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_test.c:519:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fip_service[NI_MAXSERV]; data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_test.c:595:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fip_service[NI_MAXSERV]; data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_test.c:764:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fip_service[NI_MAXSERV]; data/pmdk-1.10/src/test/rpmem_fip/rpmem_fip_test.c:849:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fip_service[NI_MAXSERV]; data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_close.c:86:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int i = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_close.c:190:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). enum rpmem_err e = (enum rpmem_err)atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_close.c:213:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int do_send = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_common.c:23:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char cmd_buff[CMD_BUFF_SIZE]; data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_create.c:81:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int i = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_create.c:135:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). enum rpmem_err e = (enum rpmem_err)atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_create.c:158:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int do_send = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_open.c:80:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int i = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_open.c:133:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). enum rpmem_err e = (enum rpmem_err)atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_open.c:156:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int do_send = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_set_attr.c:66:10: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int i = atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_set_attr.c:111:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). enum rpmem_err e = (enum rpmem_err)atoi(argv[0]); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_set_attr.c:134:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int do_send = atoi(argv[0]); data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c:446:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *pool_desc[NPOOLS_DUAL] = {pool_desc_1, pool_desc_2}; data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c:572:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c:612:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *pool_desc[2], *log_file; data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c:613:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char root_dir[PATH_MAX]; data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_common.c:24:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char cmd_buff[CMD_BUFF_SIZE]; data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_common.c:330:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int status = atoi(argv[1]); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_common.c:364:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int type = atoi(argv[0]); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_create.c:31:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->pool_desc.desc, POOL_DESC, POOL_DESC_SIZE); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_create.c:101:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->pool_desc.desc, POOL_DESC, POOL_DESC_SIZE); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_create.c:129:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->pool_desc.desc, POOL_DESC, POOL_DESC_SIZE); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_misc.c:42:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->pool_desc.desc, POOL_DESC, POOL_DESC_SIZE); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_open.c:31:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->pool_desc.desc, POOL_DESC, POOL_DESC_SIZE); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_open.c:101:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->pool_desc.desc, POOL_DESC, POOL_DESC_SIZE); data/pmdk-1.10/src/test/rpmemd_obc/rpmemd_obc_test_open.c:130:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(msg->pool_desc.desc, POOL_DESC, POOL_DESC_SIZE); data/pmdk-1.10/src/test/rpmemd_util/rpmemd_util_test.c:48:36: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. {0, RPMEM_PM_GPSPM, pmem_msync, memcpy}, data/pmdk-1.10/src/test/rpmemd_util/rpmemd_util_test.c:54:36: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. {0, RPMEM_PM_GPSPM, pmem_msync, memcpy}, data/pmdk-1.10/src/test/tools/bttcreate/bttcreate.c:60:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, (char *)nsc->addr + off, count); data/pmdk-1.10/src/test/tools/bttcreate/bttcreate.c:78:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char *)nsc->addr + off, buf, count); data/pmdk-1.10/src/test/tools/bttcreate/bttcreate.c:159:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char uuidstr[POOL_HDR_UUID_STR_LEN]; data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:368:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[BUFF_SIZE]; data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:420:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[PATH_MAX]; data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:421:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char link[PATH_MAX]; data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:581:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[BUFF_SIZE]; data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:639:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[BUFF_SIZE]; data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:689:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). timeout = atoi(argv[3]); data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:697:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int signo = atoi(argv[3]); data/pmdk-1.10/src/test/tools/ctrld/ctrld.c:714:41: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). unsigned short port = (unsigned short)atoi(argv[3]); data/pmdk-1.10/src/test/tools/obj_verify/obj_verify.c:29:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[SIGNATURE_LEN]; data/pmdk-1.10/src/test/tools/obj_verify/obj_verify.c:30:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char number_str[NUMBER_LEN]; data/pmdk-1.10/src/test/tools/pmemalloc/pmemalloc.c:87:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). tmpi = atoi(optarg); data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:748:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff, root_data + offset, len); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:427:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(fp, &f, sizeof(*fp)); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:457:8: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). t = atoi(optarg); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:567:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(str, pfp->value, len); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:1270:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(psp, &pmemspoil_default, sizeof(*psp)); data/pmdk-1.10/src/test/tools/pmemwrite/write.c:129:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(blk, buff, bufflen); data/pmdk-1.10/src/test/tools/sparsefile/sparsefile.c:29:2: [2] (buffer) wchar_t: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. wchar_t errmsg[MAXPRINT]; data/pmdk-1.10/src/test/unittest/ut.c:179:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(wargv2, wargv, wargc * sizeof(wchar_t *)); data/pmdk-1.10/src/test/unittest/ut.c:221:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char Buff_out[MAXPRINT]; data/pmdk-1.10/src/test/unittest/ut.c:222:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char Buff_err[MAXPRINT]; data/pmdk-1.10/src/test/unittest/ut.c:223:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char Buff_trace[MAXPRINT]; data/pmdk-1.10/src/test/unittest/ut.c:224:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char Buff_stdout[MAXPRINT]; data/pmdk-1.10/src/test/unittest/ut.c:240:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAXPRINT]; data/pmdk-1.10/src/test/unittest/ut.c:244:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char errstr[UT_MAX_ERR_MSG] = ""; data/pmdk-1.10/src/test/unittest/ut.c:514:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fdfile[PATH_MAX]; data/pmdk-1.10/src/test/unittest/ut.c:522:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). fdnum = atoi(dp->d_name); data/pmdk-1.10/src/test/unittest/ut.c:545:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fdfile[PATH_MAX]; data/pmdk-1.10/src/test/unittest/ut.c:553:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). fdnum = atoi(dp->d_name); data/pmdk-1.10/src/test/unittest/ut.c:663:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[MAX_PATH]; data/pmdk-1.10/src/test/unittest/ut.c:759:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char logname[MAXLOGFILENAME]; data/pmdk-1.10/src/test/unittest/ut.c:789:14: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). LogLevel = atoi(os_getenv("UNITTEST_LOG_LEVEL")); data/pmdk-1.10/src/test/unittest/ut.c:844:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[1000]; data/pmdk-1.10/src/test/unittest/ut.c:1051:13: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). int size = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, wstr, -1, data/pmdk-1.10/src/test/unittest/ut.c:1062:6: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, wstr, -1, str, data/pmdk-1.10/src/test/unittest/ut_backtrace.c:46:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char procname[PROCNAMELEN]; data/pmdk-1.10/src/test/util_cpuid/util_cpuid.c:28:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char Buf[32]; data/pmdk-1.10/src/test/util_ctl/util_ctl.c:84:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char b[5]; data/pmdk-1.10/src/test/util_ctl/util_ctl.c:662:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[1000] = {0}; data/pmdk-1.10/src/test/util_extent/util_extent.c:45:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). long long isize = atoi(argv[2]); data/pmdk-1.10/src/test/util_is_zeroed/util_is_zeroed.c:18:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bigbuf[3000]; data/pmdk-1.10/src/test/util_poolset/mocks_posix.c:17:11: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FUNC_MOCK(open, int, const char *path, int flags, ...) data/pmdk-1.10/src/test/util_poolset/mocks_posix.c:30:20: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return _FUNC_REAL(open)(path, flags, mode); data/pmdk-1.10/src/test/util_poolset/util_poolset.c:147:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr.signature, SIG, sizeof(SIG)); data/pmdk-1.10/src/test/util_sds/util_sds.c:48:13: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int init = atoi(argv[1]); data/pmdk-1.10/src/test/util_sds/util_sds.c:49:16: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int fail_on = atoi(argv[2]); data/pmdk-1.10/src/test/util_uuid_generate/util_uuid_generate.c:23:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char conv_uu[POOL_HDR_UUID_STR_LEN]; data/pmdk-1.10/src/test/util_uuid_generate/util_uuid_generate.c:24:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char uu[POOL_HDR_UUID_STR_LEN]; data/pmdk-1.10/src/tools/pmempool/common.c:305:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rangep, &range, sizeof(*rangep)); data/pmdk-1.10/src/tools/pmempool/common.c:530:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pool_str_addr[POOL_HDR_DESC_SIZE]; data/pmdk-1.10/src/tools/pmempool/common.c:648:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(paramsp->obj.layout, pop->layout, PMEMOBJ_MAX_LAYOUT); data/pmdk-1.10/src/tools/pmempool/common.c:739:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char qbuff[Q_BUFF_SIZE]; data/pmdk-1.10/src/tools/pmempool/common.c:968:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[REQ_BUFF_SIZE]; data/pmdk-1.10/src/tools/pmempool/common.c:1253:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buff, (char *)file->addr + off, nbytes); data/pmdk-1.10/src/tools/pmempool/common.c:1280:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char *)file->addr + off, buff, nbytes); data/pmdk-1.10/src/tools/pmempool/common.c:1349:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dst, addr, len); data/pmdk-1.10/src/tools/pmempool/common.h:116:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char signature[POOL_HDR_SIG_LEN]; data/pmdk-1.10/src/tools/pmempool/common.h:127:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char layout[PMEMOBJ_MAX_LAYOUT]; data/pmdk-1.10/src/tools/pmempool/convert.c:66:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[4096]; data/pmdk-1.10/src/tools/pmempool/convert.c:88:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[4096]; data/pmdk-1.10/src/tools/pmempool/info_obj.c:49:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char buff[BITMAP_BUFF_SIZE]; data/pmdk-1.10/src/tools/pmempool/output.c:39:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char out_indent_str[MAX_INDENT + 1]; data/pmdk-1.10/src/tools/pmempool/output.c:256:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:289:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:334:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char uuid_str[UUID_STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:350:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:496:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:521:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:625:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:655:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:721:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:757:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0, }; data/pmdk-1.10/src/tools/pmempool/output.c:804:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char str_buff[STR_MAX] = {0}; data/pmdk-1.10/src/tools/rpmemd/rpmemd.c:76:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char uuid_str[64] = {0, }; data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:599:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char user_config_file[PATH_MAX]; data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:600:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char home_dir[PATH_MAX]; data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:168:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->signature, rattr->signature, POOL_HDR_SIG_LEN); data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:173:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->poolset_uuid, rattr->poolset_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:174:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->first_part_uuid, rattr->uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:175:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->prev_repl_uuid, rattr->prev_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:176:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->next_repl_uuid, rattr->next_uuid, POOL_HDR_UUID_LEN); data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:177:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attr->arch_flags, rattr->user_flags, POOL_HDR_ARCH_LEN); data/pmdk-1.10/src/tools/rpmemd/rpmemd_log.c:28:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char rpmemd_prefix_buff[RPMEMD_MAX_PREFIX]; data/pmdk-1.10/src/tools/rpmemd/rpmemd_log.c:30:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *rpmemd_log_level_str[MAX_RPD_LOG] = { data/pmdk-1.10/src/tools/rpmemd/rpmemd_log.c:179:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buff[RPMEMD_MAX_MSG]; data/pmdk-1.10/src/tools/rpmemd/rpmemd_obc.c:255:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return req_cb->open(obc, arg, &req); data/pmdk-1.10/src/tools/rpmemd/rpmemd_obc.c:360:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(hdrp, &nhdr, sizeof(*hdrp)); data/pmdk-1.10/src/tools/rpmemd/rpmemd_obc.c:435:24: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). RPMEMD_ASSERT(req_cb->open != NULL); data/pmdk-1.10/src/tools/rpmemd/rpmemd_obc.h:17:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int (*open)(struct rpmemd_obc *obc, void *arg, data/pmdk-1.10/src/windows/include/unistd.h:83:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[_MAX_FNAME]; data/pmdk-1.10/src/windows/include/unistd.h:84:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ext[_MAX_EXT]; data/pmdk-1.10/src/benchmarks/clo.cpp:164:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(arg); data/pmdk-1.10/src/benchmarks/clo.cpp:198:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(arg); data/pmdk-1.10/src/benchmarks/clo.cpp:353:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). auto *str_first = (char *)malloc(strlen(arg) + 1); data/pmdk-1.10/src/benchmarks/clo.cpp:355:34: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). auto *str_step = (char *)malloc(strlen(arg) + 1); data/pmdk-1.10/src/benchmarks/clo.cpp:358:34: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). auto *str_last = (char *)malloc(strlen(arg) + 1); data/pmdk-1.10/src/benchmarks/config_reader_win.cpp:25:29: [1] (buffer) _tcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). #define NULL_LIST_EMPTY(x) (_tcslen(x) == 0) data/pmdk-1.10/src/benchmarks/config_reader_win.cpp:26:36: [1] (buffer) _tcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). #define NULL_LIST_NEXT(x) ((x) += (_tcslen(x) + 1)) data/pmdk-1.10/src/benchmarks/config_reader_win.cpp:28:27: [1] (buffer) _tcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). #define KV_LIST_EMPTY(x) (_tcslen(x) == 0) data/pmdk-1.10/src/benchmarks/config_reader_win.cpp:31:11: [1] (buffer) _tcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ((x) += (_tcslen(x) + 1), (x) += (_tcslen(x) + 1), \ data/pmdk-1.10/src/benchmarks/config_reader_win.cpp:31:36: [1] (buffer) _tcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ((x) += (_tcslen(x) + 1), (x) += (_tcslen(x) + 1), \ data/pmdk-1.10/src/benchmarks/config_reader_win.cpp:35:33: [1] (buffer) _tcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). #define KV_LIST_VALUE(x) ((x) + _tcslen(x) + 1) data/pmdk-1.10/src/benchmarks/config_reader_win.cpp:48:12: [1] (buffer) _tcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). list += (_tcslen(list) + 1); data/pmdk-1.10/src/benchmarks/pmembench.cpp:1095:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tmp = (char *)malloc(strlen(path) + strlen(info.filename) + 2); data/pmdk-1.10/src/benchmarks/pmembench.cpp:1095:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). tmp = (char *)malloc(strlen(path) + strlen(info.filename) + 2); data/pmdk-1.10/src/benchmarks/pmembench.cpp:1332:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(args->fname) > PATH_MAX) { data/pmdk-1.10/src/benchmarks/pmemobj_gen.cpp:365:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t path_len = (strlen(PART_NAME) + strlen(args->fname)) + data/pmdk-1.10/src/benchmarks/pmemobj_gen.cpp:365:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t path_len = (strlen(PART_NAME) + strlen(args->fname)) + data/pmdk-1.10/src/benchmarks/rpmem.cpp:689:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). mb->workload_len = strlen(mb->pargs->workload); data/pmdk-1.10/src/common/ctl.c:450:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((c = fgetc(fp)) != EOF) { data/pmdk-1.10/src/common/ctl.c:575:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dest, arg, dest_size); data/pmdk-1.10/src/common/file.h:79:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define util_read read data/pmdk-1.10/src/common/file_posix.c:41:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *fullname = alloca(strlen(dir) + strlen(templ) + 1); data/pmdk-1.10/src/common/file_posix.c:41:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *fullname = alloca(strlen(dir) + strlen(templ) + 1); data/pmdk-1.10/src/common/file_posix.c:50:22: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mode_t prev_umask = umask(S_IRWXG | S_IRWXO); data/pmdk-1.10/src/common/file_posix.c:54:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(prev_umask); data/pmdk-1.10/src/common/file_posix.c:150:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->filename, d->d_name, NAME_MAX + 1); data/pmdk-1.10/src/common/file_windows.c:43:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(dir) + strlen(templ) + 1; data/pmdk-1.10/src/common/file_windows.c:43:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(dir) + strlen(templ) + 1; data/pmdk-1.10/src/common/file_windows.c:150:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->filename, data.cFileName, NAME_MAX + 1); data/pmdk-1.10/src/common/set.c:1457:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t path_len = strlen(d->path) + PMEM_FILE_MAX_LEN; data/pmdk-1.10/src/common/set.c:2158:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ret = (int)read(fd, signature, POOLSET_HDR_SIG_LEN); data/pmdk-1.10/src/common/set.c:2952:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). path_len = strlen(d->path) + PMEM_FILE_MAX_LEN; data/pmdk-1.10/src/common/set_badblocks.c:176:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len_file = strlen(file); data/pmdk-1.10/src/common/set_badblocks.c:177:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len_bbs_suffix = strlen(bbs_suffix); data/pmdk-1.10/src/common/uuid.c:58:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(uuid) != 36) { data/pmdk-1.10/src/common/uuid_linux.c:34:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t num = read(fd, uu, POOL_HDR_UUID_STR_LEN); data/pmdk-1.10/src/core/fs_windows.c:30:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t pathlen = strlen(path); data/pmdk-1.10/src/core/fs_windows.c:31:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *search_path = Malloc(strlen(path) + sizeof("\\*\0")); data/pmdk-1.10/src/core/os_windows.c:263:43: [1] (buffer) wcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). wchar_t *npath = Malloc(sizeof(*npath) * wcslen(path) + _MAX_FNAME); data/pmdk-1.10/src/core/os_windows.c:281:31: [1] (buffer) wcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int ret = _snwprintf(npath + wcslen(npath), _MAX_FNAME, L"%u", rnd); data/pmdk-1.10/src/core/out.c:170:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(log_file); data/pmdk-1.10/src/core/util.c:74:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t lib_len = strlen(lib); data/pmdk-1.10/src/core/util.c:75:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t func_len = strlen(func); data/pmdk-1.10/src/core/util.c:82:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t suffix_len = strlen(suffix); data/pmdk-1.10/src/core/util.c:223:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int len = (int)strlen(str); data/pmdk-1.10/src/core/util.c:269:12: [1] (buffer) sscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. int ret = sscanf(str, "%zu%8s", &size, unit); data/pmdk-1.10/src/core/util.c:380:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *result = malloc(strlen(s1) + strlen(s2) + 1); data/pmdk-1.10/src/core/util.c:380:37: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *result = malloc(strlen(s1) + strlen(s2) + 1); data/pmdk-1.10/src/core/util.c:428:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dst, src, max_length); data/pmdk-1.10/src/core/util.c:489:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). position = strlen(buffer); data/pmdk-1.10/src/core/util_posix.c:119:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). Risk is low because the source is a constant string. strncpy(path, "unknown", pathlen); data/pmdk-1.10/src/core/util_windows.c:78:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(buff); data/pmdk-1.10/src/examples/libpmem/full_copy.c:39:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((cc = read(srcfd, buf, BUF_LEN)) > 0) { data/pmdk-1.10/src/examples/libpmem/full_copy.c:64:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((cc = read(srcfd, buf, BUF_LEN)) > 0) { data/pmdk-1.10/src/examples/libpmem/simple_copy.c:59:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((cc = read(srcfd, buf, BUF_LEN)) < 0) { data/pmdk-1.10/src/examples/libpmem2/log/log.c:293:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). vec[i].len = strlen((char *)addr); data/pmdk-1.10/src/examples/libpmem2/log/log.c:342:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t data_len = strlen((char *)data); data/pmdk-1.10/src/examples/libpmem2/unsafe_shutdown/unsafe_shutdown.c:566:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t str_size = strlen(str) + 1; data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_checkout.c:63:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(asset.user, argv[3], ASSET_USER_NAME_MAX - 1); data/pmdk-1.10/src/examples/libpmemblk/assetdb/asset_load.c:81:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(asset.name, line, ASSET_NAME_MAX - 1); data/pmdk-1.10/src/examples/libpmemlog/logfile/addlog.c:78:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). next_iovp->iov_len = strlen(argv[arg]); data/pmdk-1.10/src/examples/libpmemlog/manpage.c:56:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (pmemlog_append(plp, str, strlen(str)) < 0) { data/pmdk-1.10/src/examples/libpmemlog/manpage.c:61:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (pmemlog_append(plp, str, strlen(str)) < 0) { data/pmdk-1.10/src/examples/libpmemobj/array/array.c:450:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->name, argv[0], MAX_BUFFLEN - 1); data/pmdk-1.10/src/examples/libpmemobj/btree.c:70:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). args.size = sizeof(struct btree_node) + strlen(value) + 1; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.c:229:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ctx->key_len = strlen(p) + 1; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.c:236:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ctx->val_len = strlen(p) + 1; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree.c:539:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read; data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_search.c:400:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). key_len = strlen((char *)(ctx->search_key)); data/pmdk-1.10/src/examples/libpmemobj/libart/arttree_structures.c:548:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t read; data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:127:48: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). response_write(client, (char *)resp_msg[msg], strlen(resp_msg[msg])); data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:152:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). D_RW(val)->buf[strlen(D_RO(val)->buf)] = '\n'; data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:174:12: [1] (buffer) sscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. int ret = sscanf(msg, "REMOVE %254s\n", key); data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:194:12: [1] (buffer) sscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. int ret = sscanf(msg, "GET %254s\n", key); data/pmdk-1.10/src/examples/libpmemobj/map/kv_server.c:251:4: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(kv_cmsg_token[i])) == 0) data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog.c:348:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). iov->iov_len = strlen((char *)iov->iov_base); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog.c:384:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(argv[i] + 2))) data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_macros.c:305:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). iov->iov_len = strlen((char *)iov->iov_base); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_macros.c:341:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(argv[i] + 2))) data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_minimal.c:238:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). iov->iov_len = strlen((char *)iov->iov_base); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_minimal.c:274:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(argv[i] + 2))) data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_simple.c:350:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). iov->iov_len = strlen((char *)iov->iov_base); data/pmdk-1.10/src/examples/libpmemobj/pmemlog/obj_pmemlog_simple.c:386:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(argv[i] + 2))) data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:356:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(name) + 1; data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:391:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(name) + 1; data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:429:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buff, name, size); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:551:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(name) > objfs->max_name) { data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2174:16: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mode_t mask = umask(0); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2175:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2214:12: [1] (buffer) sscanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. int ret = sscanf(str, "%lu%3s", &size, unit); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2342:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t dirlen = strlen(dir); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2343:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t tmpllen = strlen(PMEMOBJFS_TMP_TEMPLATE); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2352:22: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mode_t prev_umask = umask(S_IRWXG | S_IRWXO); data/pmdk-1.10/src/examples/libpmemobj/pmemobjfs/pmemobjfs.c:2356:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(prev_umask); data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders.c:342:2: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(STEP); data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders2.c:706:2: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(STEP); data/pmdk-1.10/src/examples/libpmemobj/pminvaders/pminvaders2.c:738:2: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(STEP); data/pmdk-1.10/src/examples/libpmemobj/queue/queue.c:235:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). argv[3], strlen(argv[3]) + 1) != 0) data/pmdk-1.10/src/examples/libpmemobj/string_store/reader.c:31:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (rootp->len == strlen(rootp->buf)) data/pmdk-1.10/src/examples/libpmemobj/string_store/writer.c:34:6: [1] (buffer) scanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. if (scanf("%9s", buf) == EOF) { data/pmdk-1.10/src/examples/libpmemobj/string_store/writer.c:39:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). rootp->len = strlen(buf); data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/writer.c:34:6: [1] (buffer) scanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. if (scanf("%9s", buf) == EOF) { data/pmdk-1.10/src/examples/libpmemobj/string_store_tx/writer.c:41:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy(rootp->buf, buf, strlen(buf)); data/pmdk-1.10/src/examples/libpmemobj/string_store_tx_type/writer.c:31:12: [1] (buffer) scanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. int num = scanf("%9s", buf); data/pmdk-1.10/src/examples/libpmemobj/string_store_tx_type/writer.c:41:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). TX_MEMCPY(D_RW(root)->buf, buf, strlen(buf)); data/pmdk-1.10/src/examples/librpmem/basic.c:32:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). Risk is low because the source is a constant string. strncpy(attr->signature, "EXAMPLE", RPMEM_POOL_HDR_SIG_LEN); data/pmdk-1.10/src/examples/librpmem/fibonacci/fibonacci.c:57:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(fibo->signature, POOL_SIGNATURE, FIBO_SIG_LEN); data/pmdk-1.10/src/examples/librpmem/fibonacci/fibonacci.c:204:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pool_attr.signature, POOL_SIGNATURE, RPMEM_POOL_HDR_SIG_LEN); data/pmdk-1.10/src/examples/librpmem/hello.c:43:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(hello->str, hello_str[hello->lang], STR_SIZE); data/pmdk-1.10/src/examples/librpmem/hello.c:86:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pool_attr.signature, POOL_SIGNATURE, RPMEM_POOL_HDR_SIG_LEN); data/pmdk-1.10/src/examples/librpmem/manpage.c:69:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pool_attr.signature, POOL_SIGNATURE, RPMEM_POOL_HDR_SIG_LEN); data/pmdk-1.10/src/libpmem2/auto_flush_linux.c:40:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t len = read(domain_fd, domain_value, data/pmdk-1.10/src/libpmem2/deep_flush_linux.c:46:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(deep_flush_fd, rbuf, sizeof(rbuf)) != 2) { data/pmdk-1.10/src/libpmem2/pmem2_utils.h:36:2: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy(errormsg, "\0");\ data/pmdk-1.10/src/libpmem2/region_namespace_ndctl.c:92:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t nread = read(fd, buff, BUFF_LENGTH); data/pmdk-1.10/src/libpmem2/usc_ndctl.c:122:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len_base += strlen(ndctl_dimm_get_unique_id(dimm)); data/pmdk-1.10/src/libpmem2/usc_ndctl.c:134:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). count += strlen(dimm_uid); data/pmdk-1.10/src/libpmem2/usc_ndctl.c:139:3: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(id, dimm_uid, *len); data/pmdk-1.10/src/libpmemobj/heap.c:1763:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (ops->read(ops->ctx, ops->base, &header, &layout->header, data/pmdk-1.10/src/libpmemobj/heap.c:1778:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (ops->read(ops->ctx, ops->base, zone_buff, data/pmdk-1.10/src/libpmemobj/obj.c:880:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pop->layout, layout, PMEMOBJ_MAX_LAYOUT - 1); data/pmdk-1.10/src/libpmemobj/obj.c:1320:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (layout && (strlen(layout) >= PMEMOBJ_MAX_LAYOUT)) { data/pmdk-1.10/src/libpmemobj/obj.c:2521:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). carg.size = (strlen(s) + 1) * sizeof(char); data/pmdk-1.10/src/libpmemobj/obj.c:2577:15: [1] (buffer) wcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). carg.size = (wcslen(s) + 1) * sizeof(wchar_t); data/pmdk-1.10/src/libpmemobj/pmemops.h:40:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). remote_read_fn read; data/pmdk-1.10/src/libpmemobj/tx.c:1711:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(s); data/pmdk-1.10/src/libpmemobj/tx.c:1769:15: [1] (buffer) wcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = wcslen(s); data/pmdk-1.10/src/librpmem/rpmem_cmd.c:96:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size += strlen(cmd->args.argv[i]) + 1; data/pmdk-1.10/src/librpmem/rpmem_fip.c:105:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). struct rpmem_fip_rma read; /* READ message */ data/pmdk-1.10/src/librpmem/rpmem_fip.c:115:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). struct rpmem_fip_rma read; /* READ message */ data/pmdk-1.10/src/librpmem/rpmem_fip.c:921:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rpmem_fip_rma_init(&fip->lanes[i].read, data/pmdk-1.10/src/librpmem/rpmem_fip.c:1120:50: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ret = rpmem_fip_readmsg(lanep->base.ep, &lanep->read, fip->raw_buff, data/pmdk-1.10/src/librpmem/rpmem_fip.c:1872:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rpmem_fip_rma_init(&rd_lane.read, rd_mr_desc, 0, data/pmdk-1.10/src/librpmem/rpmem_fip.c:1887:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ret = rpmem_fip_readmsg(lanep->ep, &rd_lane.read, data/pmdk-1.10/src/librpmem/rpmem_obc.c:151:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t pool_desc_size = strlen(req->pool_desc) + 1; data/pmdk-1.10/src/librpmem/rpmem_obc.c:270:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t pool_desc_size = strlen(req->pool_desc) + 1; data/pmdk-1.10/src/librpmem/rpmem_ssh.c:56:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t ulen = strlen(info->user); data/pmdk-1.10/src/librpmem/rpmem_ssh.c:57:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t nlen = strlen(info->node); data/pmdk-1.10/src/librpmem/rpmem_ssh.c:90:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t cmd_len = strlen(cmd) + 1; data/pmdk-1.10/src/librpmem/rpmem_ssh.c:94:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(arg); data/pmdk-1.10/src/librpmem/rpmem_ssh.c:408:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((ret = read(rps->cmd->fd_err, error_str + len, data/pmdk-1.10/src/rpmem_common/rpmem_common.c:84:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). sret = read(fd, &cbuf[rd], len - rd); data/pmdk-1.10/src/rpmem_common/rpmem_common.c:205:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->user, str, sizeof(info->user) - 1); data/pmdk-1.10/src/rpmem_common/rpmem_common.c:221:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->node, tmp, sizeof(info->node) - 1); data/pmdk-1.10/src/rpmem_common/rpmem_common.c:229:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->service, end, sizeof(info->service) - 1); data/pmdk-1.10/src/rpmem_common/rpmem_common.c:240:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->service, first, data/pmdk-1.10/src/rpmem_common/rpmem_common.c:245:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(info->node, tmp, sizeof(info->node) - 1); data/pmdk-1.10/src/test/blk_pool_lock/blk_pool_lock.c:51:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(sleep); data/pmdk-1.10/src/test/blk_pool_lock/blk_pool_lock.c:53:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(100 * 1000); data/pmdk-1.10/src/test/ctl_cow/ctl_cow.c:101:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (pmemlog_append(plp, buf, strlen(buf)) < 0) data/pmdk-1.10/src/test/ctl_cow/ctl_cow.c:104:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (pmemlog_append(plp, buf_2, strlen(buf_2)) < 0) data/pmdk-1.10/src/test/log_basic/log_basic.c:43:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int rv = pmemlog_append(plp, str[i], strlen(str[i])); data/pmdk-1.10/src/test/log_basic/log_basic.c:155:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(str, buf, len); data/pmdk-1.10/src/test/log_pool_lock/log_pool_lock.c:51:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(sleep); data/pmdk-1.10/src/test/log_pool_lock/log_pool_lock.c:53:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(100 * 1000); data/pmdk-1.10/src/test/log_recovery/log_recovery.c:33:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int rv = pmemlog_append(plp, str[i], strlen(str[i])); data/pmdk-1.10/src/test/log_recovery/log_recovery.c:127:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(str, buf, len); data/pmdk-1.10/src/test/log_walker/log_walker.c:30:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int rv = pmemlog_append(plp, str[i], strlen(str[i])); data/pmdk-1.10/src/test/mmap_fixed/mmap_fixed.c:74:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *name1 = MALLOC(strlen(argv[1]) + appendix_length); data/pmdk-1.10/src/test/mmap_fixed/mmap_fixed.c:75:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *name2 = MALLOC(strlen(argv[1]) + appendix_length); data/pmdk-1.10/src/test/obj_direct/obj_direct.c:72:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t length = strlen(dir) + MAX_PATH_LEN; data/pmdk-1.10/src/test/obj_oid_thread/obj_oid_thread.c:64:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t length = strlen(dir) + MAX_PATH_LEN; data/pmdk-1.10/src/test/obj_pool_lock/obj_pool_lock.c:52:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(sleep); data/pmdk-1.10/src/test/obj_pool_lock/obj_pool_lock.c:54:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(100 * 1000); data/pmdk-1.10/src/test/obj_pool_lookup/obj_pool_lookup.c:44:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t length = strlen(dir) + MAX_PATH_LEN; data/pmdk-1.10/src/test/obj_reorder_basic/obj_reorder_basic.c:39:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). rootp->len = strlen(buf); data/pmdk-1.10/src/test/obj_reorder_basic/obj_reorder_basic.c:55:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (rootp->len == strlen(rootp->buf) && rootp->len != 0) data/pmdk-1.10/src/test/obj_sds/obj_sds.c:83:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). *len = strlen(uids[uid_it]) + 1; data/pmdk-1.10/src/test/pmem2_api/pmem2_api.c:57:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy_fn(addr, word1, strlen(word1), 0); data/pmdk-1.10/src/test/pmem2_api/pmem2_api.c:59:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove_fn(addr, word2, strlen(word2), 0); data/pmdk-1.10/src/test/pmem2_api/pmem2_api.c:61:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memset_fn(addr, 'X', strlen(word3), 0); data/pmdk-1.10/src/test/pmem2_deep_flush/pmem2_deep_flush.c:120:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FUNC_MOCK(read, int, int fd, void *buffer, size_t nbytes) data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:147:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t length = strlen(word); data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:532:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy_fn(addr, word1, strlen(word1), 0); data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:535:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove_fn(addr, word2, strlen(word2), 0); data/pmdk-1.10/src/test/pmem2_integration/pmem2_integration.c:538:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memset_fn(addr, 'X', strlen(word3), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:639:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy_fn(addr, data, strlen(data), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:640:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTeq(memcmp(addr, data, strlen(data)), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:672:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTeq(memcmp(addr1, word2, strlen(word2)), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:673:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTne(memcmp(addr1, word1, strlen(word1)), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:712:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTne(memcmp(addr1, word2, strlen(word2)), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:713:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTeq(memcmp(addr1, word1, strlen(word1)), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:761:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTne(memcmp(addr1, word2, strlen(word2)), 0); data/pmdk-1.10/src/test/pmem2_map/pmem2_map.c:762:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTeq(memcmp(addr1, word1, strlen(word1)), 0); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:91:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy_fn(addr_map, word1, strlen(word1), 0); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:92:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTeq(memcmp(addr_map, word1, strlen(word1)), 0); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:202:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy_fn(addr_map, word1, strlen(word1), 0); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:244:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy_fn(addr_map, word1, strlen(word1), 0); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:286:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy_fn(addr_map, word1, strlen(word1), 0); data/pmdk-1.10/src/test/pmem2_map_prot/pmem2_map_prot.c:539:46: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). UT_ASSERTeq(memcmp(addr_map, initial_state, strlen(initial_state)), 0); data/pmdk-1.10/src/test/pmem_deep_persist/mocks_posix.c:50:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FUNC_MOCK(read, size_t, int fd, void *buffer, size_t nbyte) data/pmdk-1.10/src/test/pmem_deep_persist/mocks_posix.c:58:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return _FUNC_REAL(read)(fd, buffer, nbyte); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:29:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcat(path2, path + strlen(BUS_DEVICE_PATH)); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:50:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcat(path2, path + strlen(BUS_DEVICE_PATH)); data/pmdk-1.10/src/test/pmem_has_auto_flush/mocks_posix.c:66:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strcat(path2, path + strlen(BUS_DEVICE_PATH)); data/pmdk-1.10/src/test/pmem_has_auto_flush_win/mocks_windows.c:33:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pFirmwareTableBuffer, NFIT_STR_SIGNATURE, BufferSize); data/pmdk-1.10/src/test/pmem_has_auto_flush_win/mocks_windows.c:60:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(nfit.signature, sig, NFIT_SIGNATURE_LEN); data/pmdk-1.10/src/test/rpmem_addr_ext/rpmem_addr_ext.c:94:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). target[strlen(target) - 1] = '\0'; data/pmdk-1.10/src/test/rpmem_basic/rpmem_basic.c:140:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strncmp(pool_path, "mem", strlen("mem")) == 0) { data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_common.c:93:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t ret = read(s->fd_in, &cbuf[rd], len - rd); data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_create.c:31:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t pool_desc_size = strlen(POOL_DESC) + 1; data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_create.c:55:4: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(POOL_DESC) + 1; data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_open.c:32:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t pool_desc_size = strlen(POOL_DESC) + 1; data/pmdk-1.10/src/test/rpmem_obc/rpmem_obc_test_open.c:54:4: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(POOL_DESC) + 1; data/pmdk-1.10/src/test/rpmemd_db/rpmemd_db_test.c:576:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). Risk is low because the source is a constant string. strncpy((char *)attr.poolset_uuid, "TEST", sizeof(attr.poolset_uuid)); data/pmdk-1.10/src/test/set_funcs/set_funcs.c:70:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t size = strlen(s) + 1; data/pmdk-1.10/src/test/tools/ddmap/ddmap.c:268:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t str_len = (str != NULL) ? strlen(str) + 1 : 0; data/pmdk-1.10/src/test/tools/ddmap/ddmap.c:340:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ctx->count = strlen(ctx->str); data/pmdk-1.10/src/test/tools/gran_detecto/gran_detecto.c:218:46: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ssize_t sret = util_write(ctx->fd, message, strlen(message)); data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:706:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(str); data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:2086:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(env) > 1 || (env[0] != '0' && env[0] != '1')) { data/pmdk-1.10/src/test/tools/pmemobjcli/pmemobjcli.c:2280:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). argstr = cmds + strlen(pcli->inbuf) + 1; data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:355:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *secstr = malloc(strlen(str) + 1); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:361:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(secstr); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:369:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return str + strlen(str); data/pmdk-1.10/src/test/tools/pmemspoil/spoil.c:566:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = min(len, strlen(pfp->value)); data/pmdk-1.10/src/test/tools/pmemwrite/write.c:67:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(pwp->args[i]); data/pmdk-1.10/src/test/tools/pmemwrite/write.c:106:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t buffsize = strlen(pwp->args[i]) + 1; data/pmdk-1.10/src/test/tools/pmemwrite/write.c:118:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t bufflen = strlen(buff); data/pmdk-1.10/src/test/traces_custom_function/traces_custom_function.c:47:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *format2 = MALLOC(strlen(format) * 3); data/pmdk-1.10/src/test/unittest/ut_alloc.c:90:4: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(str)); data/pmdk-1.10/src/test/unittest/ut_backtrace.c:65:4: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy(procname, "?"); data/pmdk-1.10/src/test/unittest/ut_fh.c:192:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). full_path = MALLOC(strlen(path) + 1 + data/pmdk-1.10/src/test/unittest/ut_fh.c:193:5: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen("UT_FH_TMPFILE") + 1); data/pmdk-1.10/src/test/unittest/ut_file.c:165:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t retval = read(fd, buf, count); data/pmdk-1.10/src/test/unittest/ut_file.c:174:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t retval = read(fd, buf, (unsigned)count); data/pmdk-1.10/src/test/unittest/ut_pmem2_utils.c:27:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strlen(msg)) data/pmdk-1.10/src/test/util_ctl/util_ctl.c:419:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). fwrite(buf, sizeof(char), strlen(buf), f); data/pmdk-1.10/src/test/util_sds/util_sds.c:139:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). *len = strlen(uids[uid_it]) + 1; data/pmdk-1.10/src/tools/daxio/daxio.c:544:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t rcnt = read(ctx->src.fd, dst_addr + cnt, data/pmdk-1.10/src/tools/pmempool/common.c:195:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t str_len = strlen(str); data/pmdk-1.10/src/tools/pmempool/common.c:607:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t num = read(fd, pool_str_addr, data/pmdk-1.10/src/tools/pmempool/common.c:684:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(answers); data/pmdk-1.10/src/tools/pmempool/common.c:718:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(line_of_answer) == 2 && data/pmdk-1.10/src/tools/pmempool/common.c:724:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(line_of_answer) == 1 && data/pmdk-1.10/src/tools/pmempool/convert.c:38:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t length = strlen(dir) + strlen(convert_bin) + 1; data/pmdk-1.10/src/tools/pmempool/convert.c:38:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t length = strlen(dir) + strlen(convert_bin) + 1; data/pmdk-1.10/src/tools/pmempool/create.c:460:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(0); data/pmdk-1.10/src/tools/pmempool/create.c:508:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(pc.layout) >= max_layout) { data/pmdk-1.10/src/tools/pmempool/create.c:516:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pc.params.obj.layout, pc.layout, len); data/pmdk-1.10/src/tools/pmempool/create.c:575:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(pc.params.obj.layout, pc.layout, data/pmdk-1.10/src/tools/pmempool/pmempool.c:199:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const char *format = (strlen(commands[i].name) / 8) data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:131:6: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(value) == 0) { data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:397:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(line); data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:534:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const size_t placeholder_len = strlen(HOME_STR_PLACEHOLDER); data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:535:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const size_t home_len = strlen(home_dir); data/pmdk-1.10/src/tools/rpmemd/rpmemd_config.c:536:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t haystack_len = strlen(haystack); data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:89:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len1 = strlen(path1); data/pmdk-1.10/src/tools/rpmemd/rpmemd_db.c:90:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len2 = strlen(path2); data/pmdk-1.10/src/tools/rpmemd/rpmemd_obc.c:97:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen((char *)pool_desc->desc) + 1; data/pmdk-1.10/src/windows/getopt/getopt.c:222:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(argv[optind]) < 3 || strncmp(argv[optind], "--", 2) != 0) data/pmdk-1.10/src/windows/getopt/getopt.c:232:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(o->name) == argument_name_length) { data/pmdk-1.10/src/windows/include/platform.h:213:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). __pragma(section(".CRT$XCU", read)) \ data/pmdk-1.10/src/windows/include/unistd.h:101:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen(path); ANALYSIS SUMMARY: Hits = 1135 Lines analyzed = 203832 in approximately 6.78 seconds (30052 lines/second) Physical Source Lines of Code (SLOC) = 138730 Hits@level = [0] 923 [1] 254 [2] 682 [3] 58 [4] 138 [5] 3 Hits@level+ = [0+] 2058 [1+] 1135 [2+] 881 [3+] 199 [4+] 141 [5+] 3 Hits/KSLOC@level+ = [0+] 14.8346 [1+] 8.18136 [2+] 6.35046 [3+] 1.43444 [4+] 1.01636 [5+] 0.0216247 Symlinks skipped = 2 (--allowlink overrides but see doc for security issue) Dot directories skipped = 2 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.