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(&params->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.