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/facter-3.14.12/exe/facter.cc Examining data/facter-3.14.12/lib/inc/facter/cwrapper.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/array_value.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/base_resolver.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/external/resolver.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/external_resolvers_factory.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/fact.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/map_value.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/os.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/os_family.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/resolver.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/scalar_value.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/value.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/vm.hpp Examining data/facter-3.14.12/lib/inc/facter/facts/collection.hpp Examining data/facter-3.14.12/lib/inc/facter/logging/logging.hpp Examining data/facter-3.14.12/lib/inc/facter/ruby/ruby.hpp Examining data/facter-3.14.12/lib/inc/facter/util/config.hpp Examining data/facter-3.14.12/lib/inc/facter/util/string.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/disk_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/filesystem_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/kernel_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/load_average_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/nim_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/aix/serial_number_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/bsd/filesystem_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/bsd/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/bsd/uptime_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/cache.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/external/execution_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/external/json_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/external/text_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/external/windows/powershell_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/external/yaml_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/disk_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/dmi_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/filesystem_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/virtualization_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/zfs_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/freebsd/zpool_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/glib/load_average_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/disk_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/dmi_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/filesystem_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/fips_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/kernel_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/os_cisco.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/os_linux.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/os_osrelease.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/release_file.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/uptime_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/linux/virtualization_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/openbsd/dmi_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/openbsd/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/openbsd/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/openbsd/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/openbsd/virtualization_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/osx/dmi_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/osx/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/osx/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/osx/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/osx/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/osx/system_profiler_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/osx/virtualization_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/identity_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/kernel_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/timezone_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/uptime_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/posix/xen_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/augeas_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/disk_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/dmi_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/ec2_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/filesystem_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/fips_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/gce_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/hypervisors_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/identity_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/kernel_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/ldom_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/load_average_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/path_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/ruby_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/ssh_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/system_profiler_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/timezone_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/uptime_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/virtualization_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/xen_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/zfs_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/zone_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/resolvers/zpool_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/disk_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/dmi_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/filesystem_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/kernel_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/ldom_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/virtualization_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/zfs_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/zone_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/solaris/zpool_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/ssh_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/dmi_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/fips_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/identity_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/kernel_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/memory_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/networking_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/operating_system_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/processor_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/timezone_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/uptime_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/facts/windows/virtualization_resolver.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/aggregate_resolution.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/chunk.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/confine.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/fact.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/module.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/resolution.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/ruby_value.hpp Examining data/facter-3.14.12/lib/inc/internal/ruby/simple_resolution.hpp Examining data/facter-3.14.12/lib/inc/internal/util/agent.hpp Examining data/facter-3.14.12/lib/inc/internal/util/aix/odm.hpp Examining data/facter-3.14.12/lib/inc/internal/util/aix/vmount.hpp Examining data/facter-3.14.12/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp Examining data/facter-3.14.12/lib/inc/internal/util/freebsd/geom.hpp Examining data/facter-3.14.12/lib/inc/internal/util/posix/scoped_addrinfo.hpp Examining data/facter-3.14.12/lib/inc/internal/util/posix/scoped_descriptor.hpp Examining data/facter-3.14.12/lib/inc/internal/util/posix/utmpx_file.hpp Examining data/facter-3.14.12/lib/inc/internal/util/scoped_bio.hpp Examining data/facter-3.14.12/lib/inc/internal/util/scoped_file.hpp Examining data/facter-3.14.12/lib/inc/internal/util/solaris/k_stat.hpp Examining data/facter-3.14.12/lib/inc/internal/util/solaris/scoped_kstat.hpp Examining data/facter-3.14.12/lib/inc/internal/util/versions.hpp Examining data/facter-3.14.12/lib/inc/internal/util/windows/wsa.hpp Examining data/facter-3.14.12/lib/inc/internal/util/yaml.hpp Examining data/facter-3.14.12/lib/src/cwrapper.cc Examining data/facter-3.14.12/lib/src/facts/aix/collection.cc Examining data/facter-3.14.12/lib/src/facts/aix/disk_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/filesystem_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/kernel_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/load_average_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/nim_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/operating_system_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/aix/serial_number_resolver.cc Examining data/facter-3.14.12/lib/src/facts/array_value.cc Examining data/facter-3.14.12/lib/src/facts/bsd/collection.cc Examining data/facter-3.14.12/lib/src/facts/bsd/filesystem_resolver.cc Examining data/facter-3.14.12/lib/src/facts/bsd/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/bsd/uptime_resolver.cc Examining data/facter-3.14.12/lib/src/facts/cache.cc Examining data/facter-3.14.12/lib/src/facts/collection.cc Examining data/facter-3.14.12/lib/src/facts/external/execution_resolver.cc Examining data/facter-3.14.12/lib/src/facts/external/resolver.cc Examining data/facter-3.14.12/lib/src/facts/external/text_resolver.cc Examining data/facter-3.14.12/lib/src/facts/external/windows/powershell_resolver.cc Examining data/facter-3.14.12/lib/src/facts/external/yaml_resolver.cc Examining data/facter-3.14.12/lib/src/facts/external/json_resolver.cc Examining data/facter-3.14.12/lib/src/facts/external_resolvers_factory.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/collection.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/disk_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/dmi_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/filesystem_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/operating_system_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/virtualization_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/zfs_resolver.cc Examining data/facter-3.14.12/lib/src/facts/freebsd/zpool_resolver.cc Examining data/facter-3.14.12/lib/src/facts/glib/load_average_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/collection.cc Examining data/facter-3.14.12/lib/src/facts/linux/disk_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/filesystem_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/fips_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/kernel_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/operating_system_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/os_linux.cc Examining data/facter-3.14.12/lib/src/facts/linux/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/uptime_resolver.cc Examining data/facter-3.14.12/lib/src/facts/linux/virtualization_resolver.cc Examining data/facter-3.14.12/lib/src/facts/map_value.cc Examining data/facter-3.14.12/lib/src/facts/openbsd/collection.cc Examining data/facter-3.14.12/lib/src/facts/openbsd/dmi_resolver.cc Examining data/facter-3.14.12/lib/src/facts/openbsd/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/openbsd/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/openbsd/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/openbsd/virtualization_resolver.cc Examining data/facter-3.14.12/lib/src/facts/osx/collection.cc Examining data/facter-3.14.12/lib/src/facts/osx/dmi_resolver.cc Examining data/facter-3.14.12/lib/src/facts/osx/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/osx/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/osx/operating_system_resolver.cc Examining data/facter-3.14.12/lib/src/facts/osx/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/osx/system_profiler_resolver.cc Examining data/facter-3.14.12/lib/src/facts/osx/virtualization_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/cache.cc Examining data/facter-3.14.12/lib/src/facts/posix/collection.cc Examining data/facter-3.14.12/lib/src/facts/posix/external_resolvers_factory.cc Examining data/facter-3.14.12/lib/src/facts/posix/identity_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/kernel_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/operatingsystem_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/ssh_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/timezone_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/uptime_resolver.cc Examining data/facter-3.14.12/lib/src/facts/posix/xen_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/augeas_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/disk_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/dmi_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/ec2_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/filesystem_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/fips_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/hypervisors_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/identity_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/kernel_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/ldom_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/load_average_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/operating_system_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/path_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/ruby_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/ssh_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/system_profiler_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/timezone_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/uptime_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/virtualization_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/xen_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/zfs_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/zone_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/zpool_resolver.cc Examining data/facter-3.14.12/lib/src/facts/resolvers/gce_resolver.cc Examining data/facter-3.14.12/lib/src/facts/scalar_value.cc Examining data/facter-3.14.12/lib/src/facts/solaris/collection.cc Examining data/facter-3.14.12/lib/src/facts/solaris/disk_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/dmi_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/filesystem_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/kernel_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/ldom_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/operating_system_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/virtualization_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/zfs_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/zone_resolver.cc Examining data/facter-3.14.12/lib/src/facts/solaris/zpool_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/cache.cc Examining data/facter-3.14.12/lib/src/facts/windows/collection.cc Examining data/facter-3.14.12/lib/src/facts/windows/dmi_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/external_resolvers_factory.cc Examining data/facter-3.14.12/lib/src/facts/windows/fips_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/identity_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/kernel_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/memory_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/networking_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/operating_system_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/processor_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/ssh_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/timezone_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/uptime_resolver.cc Examining data/facter-3.14.12/lib/src/facts/windows/virtualization_resolver.cc Examining data/facter-3.14.12/lib/src/java/facter.cc Examining data/facter-3.14.12/lib/src/logging/logging.cc Examining data/facter-3.14.12/lib/src/ruby/aggregate_resolution.cc Examining data/facter-3.14.12/lib/src/ruby/chunk.cc Examining data/facter-3.14.12/lib/src/ruby/confine.cc Examining data/facter-3.14.12/lib/src/ruby/fact.cc Examining data/facter-3.14.12/lib/src/ruby/module.cc Examining data/facter-3.14.12/lib/src/ruby/resolution.cc Examining data/facter-3.14.12/lib/src/ruby/ruby.cc Examining data/facter-3.14.12/lib/src/ruby/ruby_value.cc Examining data/facter-3.14.12/lib/src/ruby/simple_resolution.cc Examining data/facter-3.14.12/lib/src/util/bsd/scoped_ifaddrs.cc Examining data/facter-3.14.12/lib/src/util/config/config.cc Examining data/facter-3.14.12/lib/src/util/config/posix/config.cc Examining data/facter-3.14.12/lib/src/util/config/windows/config.cc Examining data/facter-3.14.12/lib/src/util/freebsd/geom.cc Examining data/facter-3.14.12/lib/src/util/posix/scoped_addrinfo.cc Examining data/facter-3.14.12/lib/src/util/posix/scoped_descriptor.cc Examining data/facter-3.14.12/lib/src/util/posix/utmpx_file.cc Examining data/facter-3.14.12/lib/src/util/scoped_bio.cc Examining data/facter-3.14.12/lib/src/util/scoped_file.cc Examining data/facter-3.14.12/lib/src/util/solaris/k_stat.cc Examining data/facter-3.14.12/lib/src/util/solaris/scoped_kstat.cc Examining data/facter-3.14.12/lib/src/util/string.cc Examining data/facter-3.14.12/lib/src/util/windows/wsa.cc Examining data/facter-3.14.12/lib/src/util/yaml.cc Examining data/facter-3.14.12/lib/tests/collection_fixture.cc Examining data/facter-3.14.12/lib/tests/collection_fixture.hpp Examining data/facter-3.14.12/lib/tests/cwrapper.cc Examining data/facter-3.14.12/lib/tests/facts/array_value.cc Examining data/facter-3.14.12/lib/tests/facts/boolean_value.cc Examining data/facter-3.14.12/lib/tests/facts/cache.cc Examining data/facter-3.14.12/lib/tests/facts/collection.cc Examining data/facter-3.14.12/lib/tests/facts/external/json_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/external/posix/execution_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/external/text_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/external/windows/execution_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/external/windows/powershell_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/external/yaml_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/external_resolvers_factory.cc Examining data/facter-3.14.12/lib/tests/facts/integer_value.cc Examining data/facter-3.14.12/lib/tests/facts/linux/dmi_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/linux/filesystem_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/linux/processor_fixture.cc Examining data/facter-3.14.12/lib/tests/facts/linux/processor_fixture.hpp Examining data/facter-3.14.12/lib/tests/facts/linux/processor_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/linux/virtualization_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/map_value.cc Examining data/facter-3.14.12/lib/tests/facts/posix/collection.cc Examining data/facter-3.14.12/lib/tests/facts/posix/external_resolvers_factory.cc Examining data/facter-3.14.12/lib/tests/facts/posix/uptime_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/augeas_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/disk_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/dmi_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/filesystem_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/identity_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/kernel_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/ldom_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/memory_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/networking_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/operating_system_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/processor_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/ruby_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/ssh_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/system_profiler_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/timezone_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/uptime_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/virtualization_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/xen_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/zfs_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/zone_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/resolvers/zpool_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/schema.cc Examining data/facter-3.14.12/lib/tests/facts/string_value.cc Examining data/facter-3.14.12/lib/tests/facts/windows/collection.cc Examining data/facter-3.14.12/lib/tests/facts/windows/external_resolvers_factory.cc Examining data/facter-3.14.12/lib/tests/facts/windows/networking_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/windows/operating_system_resolver.cc Examining data/facter-3.14.12/lib/tests/facts/double_value.cc Examining data/facter-3.14.12/lib/tests/fixtures.cc Examining data/facter-3.14.12/lib/tests/java/facter.cc Examining data/facter-3.14.12/lib/tests/log_capture.cc Examining data/facter-3.14.12/lib/tests/log_capture.hpp Examining data/facter-3.14.12/lib/tests/logging/logging.cc Examining data/facter-3.14.12/lib/tests/main.cc Examining data/facter-3.14.12/lib/tests/mock_server.cc Examining data/facter-3.14.12/lib/tests/mock_server.hpp Examining data/facter-3.14.12/lib/tests/ruby/ruby.cc Examining data/facter-3.14.12/lib/tests/ruby/ruby_dirfacts.cc Examining data/facter-3.14.12/lib/tests/ruby/ruby_helper.cc Examining data/facter-3.14.12/lib/tests/ruby/ruby_helper.hpp Examining data/facter-3.14.12/lib/tests/ruby/windows/ruby.cc Examining data/facter-3.14.12/lib/tests/util/bsd/scoped_ifaddrs.cc Examining data/facter-3.14.12/lib/tests/util/posix/scoped_addrinfo.cc Examining data/facter-3.14.12/lib/tests/util/posix/scoped_descriptor.cc Examining data/facter-3.14.12/lib/tests/util/scoped_bio.cc Examining data/facter-3.14.12/lib/tests/util/string.cc FINAL RESULTS: data/facter-3.14.12/lib/src/facts/cache.cc:30:24: [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. boost::system::error_code ec; data/facter-3.14.12/lib/src/facts/collection.cc:156:16: [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. boost::system::error_code ec; data/facter-3.14.12/lib/src/facts/linux/disk_resolver.cc:31:16: [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. boost::system::error_code ec; data/facter-3.14.12/lib/src/facts/linux/disk_resolver.cc:50:20: [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. boost::system::error_code ec; data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:15:23: [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. namespace bs = boost::system; data/facter-3.14.12/lib/src/facts/linux/filesystem_resolver.cc:23:24: [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. namespace sys = boost::system; data/facter-3.14.12/lib/src/facts/linux/operating_system_resolver.cc:38:20: [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. boost::system::error_code ec; data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:17:23: [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. namespace bs = boost::system; data/facter-3.14.12/lib/src/facts/linux/virtualization_resolver.cc:21:23: [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. namespace bs = boost::system; data/facter-3.14.12/lib/src/facts/posix/ssh_resolver.cc:7:23: [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. namespace bs = boost::system; data/facter-3.14.12/lib/src/facts/posix/xen_resolver.cc:10:23: [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. namespace bs = boost::system; data/facter-3.14.12/lib/src/facts/windows/ssh_resolver.cc:15:23: [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. namespace bs = boost::system; data/facter-3.14.12/lib/src/ruby/module.cc:184:16: [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. boost::system::error_code ec; data/facter-3.14.12/lib/src/ruby/module.cc:1002:20: [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. boost::system::error_code ec; data/facter-3.14.12/lib/src/ruby/module.cc:1063:24: [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. boost::system::error_code ec; data/facter-3.14.12/lib/tests/mock_server.cc:13:18: [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. boost::system::error_code error; data/facter-3.14.12/lib/tests/mock_server.cc:18:28: [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. throw boost::system::system_error(error); // Some other error. data/facter-3.14.12/lib/tests/mock_server.cc:33:51: [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. acceptor_.async_accept(socket_, [this](boost::system::error_code ec) { data/facter-3.14.12/lib/inc/internal/util/aix/odm.hpp:37: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). static ptr open() { data/facter-3.14.12/lib/inc/internal/util/aix/odm.hpp:313:22: [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). static proxy open(std::string name) { data/facter-3.14.12/lib/inc/internal/util/aix/odm.hpp:370:29: [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). _the_odm = odm::open(); data/facter-3.14.12/lib/src/facts/aix/disk_resolver.cc:22:45: [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). auto pd_dv_query = odm_class<PdDv>::open("PdDv").query("class=disk"); data/facter-3.14.12/lib/src/facts/aix/disk_resolver.cc:28:39: [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). auto cu_dv = odm_class<CuDv>::open("CuDv"); data/facter-3.14.12/lib/src/facts/aix/disk_resolver.cc:39:39: [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). auto descriptor = open(device.c_str(), O_RDONLY); data/facter-3.14.12/lib/src/facts/aix/filesystem_resolver.cc:85:39: [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). auto cu_dv = odm_class<CuDv>::open("CuDv"); data/facter-3.14.12/lib/src/facts/aix/filesystem_resolver.cc:86:39: [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). auto cu_at = odm_class<CuAt>::open("CuAt"); data/facter-3.14.12/lib/src/facts/aix/memory_resolver.cc:35:45: [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). auto cu_at_query = odm_class<CuAt>::open("CuAt").query("value=paging and attribute=type"); data/facter-3.14.12/lib/src/facts/aix/networking_resolver.cc:142:21: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&(addrs[ RTAX_##a ]), sa, sa->sa_len); \ data/facter-3.14.12/lib/src/facts/aix/operating_system_resolver.cc:35:40: [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). auto cuat_query = odm_class<CuAt>::open("CuAt").query(query); data/facter-3.14.12/lib/src/facts/aix/operating_system_resolver.cc:49:40: [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). auto cudv_query = odm_class<CuDv>::open("CuDv").query(query); data/facter-3.14.12/lib/src/facts/aix/operating_system_resolver.cc:58:40: [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). auto pdat_query = odm_class<PdAt>::open("PdAt").query(query); data/facter-3.14.12/lib/src/facts/aix/processor_resolver.cc:48:45: [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). auto pd_dv_query = odm_class<PdDv>::open("PdDv").query("class=processor"); data/facter-3.14.12/lib/src/facts/aix/processor_resolver.cc:57:49: [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). auto cu_dv_query = odm_class<CuDv>::open("CuDv").query(query); data/facter-3.14.12/lib/src/facts/aix/processor_resolver.cc:67:49: [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). auto cu_at_query = odm_class<CuAt>::open("CuAt").query(query); data/facter-3.14.12/lib/src/facts/aix/serial_number_resolver.cc:28:45: [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). auto cu_at_query = odm_class<CuAt>::open("CuAt").query("name=sys0 and attribute=systemid"); data/facter-3.14.12/lib/src/facts/external/json_resolver.cc:203: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. char buffer[4096]; data/facter-3.14.12/lib/src/facts/freebsd/dmi_resolver.cc:33: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. char buffer[100] = {}; data/facter-3.14.12/lib/src/facts/linux/filesystem_resolver.cc: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. char buffer[4096]; data/facter-3.14.12/lib/src/facts/openbsd/dmi_resolver.cc:33: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. char value[BUFSIZ]; data/facter-3.14.12/lib/src/facts/posix/networking_resolver.cc:33:13: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[INET_ADDRSTRLEN] = {}; data/facter-3.14.12/lib/src/facts/posix/networking_resolver.cc:47:13: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[INET6_ADDRSTRLEN] = {}; data/facter-3.14.12/lib/src/facts/posix/timezone_resolver.cc:13: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. char buffer[16]; data/facter-3.14.12/lib/src/facts/solaris/filesystem_resolver.cc:36:26: [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). scoped_file file(fopen("/etc/mnttab", "r")); data/facter-3.14.12/lib/src/facts/windows/timezone_resolver.cc:20:9: [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 buffer[256] = {}; data/facter-3.14.12/lib/src/util/scoped_file.cc:10:39: [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). scoped_resource(boost::nowide::fopen(path.c_str(), mode.c_str()), close) data/facter-3.14.12/lib/src/util/windows/wsa.cc:53:9: [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 buffer[INET6_ADDRSTRLEN+1]; data/facter-3.14.12/lib/tests/facts/windows/networking_resolver.cc:129: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(addr.sin6_addr.u.Byte, x.data(), 16*sizeof(u_char)); data/facter-3.14.12/lib/tests/mock_server.cc:11: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. char data[1024]; data/facter-3.14.12/lib/inc/internal/facts/linux/dmi_resolver.hpp:34:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). std::string read(std::string const& path); data/facter-3.14.12/lib/inc/internal/facts/windows/dmi_resolver.hpp:34:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). std::string read(std::string const& path); data/facter-3.14.12/lib/src/cwrapper.cc:39:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(*result, json_facts.c_str(), l); data/facter-3.14.12/lib/src/facts/freebsd/networking_resolver.cc:49:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(ifr.ifr_name, interface.c_str(), sizeof(ifr.ifr_name)); data/facter-3.14.12/lib/src/facts/linux/disk_resolver.cc:63:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string blocks = lth_file::read(size_file_path); data/facter-3.14.12/lib/src/facts/linux/disk_resolver.cc:73:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). d.vendor = lth_file::read(vendor_file_path); data/facter-3.14.12/lib/src/facts/linux/disk_resolver.cc:79:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). d.model = lth_file::read(model_file_path); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:29:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.bios_vendor = read("/sys/class/dmi/id/bios_vendor"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:30:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.bios_version = read("/sys/class/dmi/id/bios_version"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:31:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.bios_release_date = read("/sys/class/dmi/id/bios_date"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:32:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.board_asset_tag = read("/sys/class/dmi/id/board_asset_tag"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:33:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.board_manufacturer = read("/sys/class/dmi/id/board_vendor"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:34:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.board_product_name = read("/sys/class/dmi/id/board_name"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:35:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.board_serial_number = read("/sys/class/dmi/id/board_serial"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:36:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.chassis_asset_tag = read("/sys/class/dmi/id/chassis_asset_tag"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:37:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.manufacturer = read("/sys/class/dmi/id/sys_vendor"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:38:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.product_name = read("/sys/class/dmi/id/product_name"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:39:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.serial_number = read("/sys/class/dmi/id/product_serial"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:40:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.uuid = read("/sys/class/dmi/id/product_uuid"); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:41:66: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.chassis_type = to_chassis_description(read("/sys/class/dmi/id/chassis_type")); data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:182:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string dmi_resolver::read(std::string const& path) data/facter-3.14.12/lib/src/facts/linux/dmi_resolver.cc:191:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!lth_file::read(path, value)) { data/facter-3.14.12/lib/src/facts/linux/filesystem_resolver.cc:207:49: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string mapping_name = lth_file::read((block_device_path / "dm" / "name").string()); data/facter-3.14.12/lib/src/facts/linux/filesystem_resolver.cc:222:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). part.backing_file = lth_file::read((block_device_path / "loop" / "backing_file").string()); data/facter-3.14.12/lib/src/facts/linux/filesystem_resolver.cc:289:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string blocks = lth_file::read(device_directory + "/size"); data/facter-3.14.12/lib/src/facts/linux/networking_resolver.cc:91:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(req.ifr_name, interface.c_str(), sizeof(req.ifr_name) - 1); data/facter-3.14.12/lib/src/facts/linux/operating_system_resolver.cc:73:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.policy_version = lth_file::read(mountpoint + "/policyvers"); data/facter-3.14.12/lib/src/facts/linux/operating_system_resolver.cc:76:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string enforce = lth_file::read(mountpoint + "/enforce"); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:97:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string contents = lth_file::read(release_file::redhat); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:111:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string contents = lth_file::read(release_file::lsb); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:129:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string contents = lth_file::read(release_file::suse); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:305:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). value = lth_file::read(release_file::debian); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:311:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). value = lth_file::read(release_file::devuan); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:317:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). value = lth_file::read(release_file::alpine); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:323:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). value = lth_file::read(release_file::huawei); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:333:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string contents = lth_file::read(release_file::suse); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:350:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string contents = lth_file::read(release_file::lsb); data/facter-3.14.12/lib/src/facts/linux/os_linux.cc:381:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string contents = lth_file::read(file); data/facter-3.14.12/lib/src/facts/linux/processor_resolver.cc:81:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string id = lth_file::read(physical_id_path); data/facter-3.14.12/lib/src/facts/linux/processor_resolver.cc:192:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string speed = lth_file::read(root + "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"); data/facter-3.14.12/lib/src/facts/openbsd/networking_resolver.cc:49:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(ifr.ifr_name, interface.c_str(), sizeof(ifr.ifr_name)); data/facter-3.14.12/lib/src/facts/resolvers/ssh_resolver.cc:115:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). string contents = lth_file::read(key_file.string()); ANALYSIS SUMMARY: Hits = 90 Lines analyzed = 35168 in approximately 1.74 seconds (20208 lines/second) Physical Source Lines of Code (SLOC) = 24252 Hits@level = [0] 0 [1] 42 [2] 30 [3] 0 [4] 18 [5] 0 Hits@level+ = [0+] 90 [1+] 90 [2+] 48 [3+] 18 [4+] 18 [5+] 0 Hits/KSLOC@level+ = [0+] 3.71103 [1+] 3.71103 [2+] 1.97922 [3+] 0.742207 [4+] 0.742207 [5+] 0 Dot directories skipped = 1 (--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.