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/libgav1-0.16.0/examples/file_reader.cc Examining data/libgav1-0.16.0/examples/file_reader.h Examining data/libgav1-0.16.0/examples/file_reader_constants.cc Examining data/libgav1-0.16.0/examples/file_reader_constants.h Examining data/libgav1-0.16.0/examples/file_reader_factory.cc Examining data/libgav1-0.16.0/examples/file_reader_factory.h Examining data/libgav1-0.16.0/examples/file_reader_interface.h Examining data/libgav1-0.16.0/examples/file_writer.cc Examining data/libgav1-0.16.0/examples/file_writer.h Examining data/libgav1-0.16.0/examples/gav1_decode.cc Examining data/libgav1-0.16.0/examples/gav1_decode_cv_pixel_buffer_pool.cc Examining data/libgav1-0.16.0/examples/gav1_decode_cv_pixel_buffer_pool.h Examining data/libgav1-0.16.0/examples/ivf_parser.cc Examining data/libgav1-0.16.0/examples/ivf_parser.h Examining data/libgav1-0.16.0/examples/logging.h Examining data/libgav1-0.16.0/src/buffer_pool.cc Examining data/libgav1-0.16.0/src/buffer_pool.h Examining data/libgav1-0.16.0/src/decoder.cc Examining data/libgav1-0.16.0/src/decoder_impl.cc Examining data/libgav1-0.16.0/src/decoder_impl.h Examining data/libgav1-0.16.0/src/decoder_settings.cc Examining data/libgav1-0.16.0/src/decoder_state.h Examining data/libgav1-0.16.0/src/dsp/arm/average_blend_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/average_blend_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/cdef_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/cdef_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/common_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/convolve_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/convolve_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/distance_weighted_blend_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/distance_weighted_blend_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/film_grain_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/film_grain_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/intra_edge_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/intra_edge_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/intrapred_cfl_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/intrapred_directional_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/intrapred_filter_intra_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/intrapred_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/intrapred_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/intrapred_smooth_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/inverse_transform_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/inverse_transform_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/loop_filter_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/loop_filter_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/loop_restoration_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/loop_restoration_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/mask_blend_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/mask_blend_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/motion_field_projection_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/motion_field_projection_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/motion_vector_search_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/motion_vector_search_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/obmc_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/obmc_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/super_res_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/super_res_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/warp_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/warp_neon.h Examining data/libgav1-0.16.0/src/dsp/arm/weight_mask_neon.cc Examining data/libgav1-0.16.0/src/dsp/arm/weight_mask_neon.h Examining data/libgav1-0.16.0/src/dsp/average_blend.cc Examining data/libgav1-0.16.0/src/dsp/average_blend.h Examining data/libgav1-0.16.0/src/dsp/cdef.cc Examining data/libgav1-0.16.0/src/dsp/cdef.h Examining data/libgav1-0.16.0/src/dsp/common.h Examining data/libgav1-0.16.0/src/dsp/constants.cc Examining data/libgav1-0.16.0/src/dsp/constants.h Examining data/libgav1-0.16.0/src/dsp/convolve.cc Examining data/libgav1-0.16.0/src/dsp/convolve.h Examining data/libgav1-0.16.0/src/dsp/distance_weighted_blend.cc Examining data/libgav1-0.16.0/src/dsp/distance_weighted_blend.h Examining data/libgav1-0.16.0/src/dsp/dsp.cc Examining data/libgav1-0.16.0/src/dsp/dsp.h Examining data/libgav1-0.16.0/src/dsp/film_grain.cc Examining data/libgav1-0.16.0/src/dsp/film_grain.h Examining data/libgav1-0.16.0/src/dsp/film_grain_common.h Examining data/libgav1-0.16.0/src/dsp/intra_edge.cc Examining data/libgav1-0.16.0/src/dsp/intra_edge.h Examining data/libgav1-0.16.0/src/dsp/intrapred.cc Examining data/libgav1-0.16.0/src/dsp/intrapred.h Examining data/libgav1-0.16.0/src/dsp/inverse_transform.cc Examining data/libgav1-0.16.0/src/dsp/inverse_transform.h Examining data/libgav1-0.16.0/src/dsp/loop_filter.cc Examining data/libgav1-0.16.0/src/dsp/loop_filter.h Examining data/libgav1-0.16.0/src/dsp/loop_restoration.cc Examining data/libgav1-0.16.0/src/dsp/loop_restoration.h Examining data/libgav1-0.16.0/src/dsp/mask_blend.cc Examining data/libgav1-0.16.0/src/dsp/mask_blend.h Examining data/libgav1-0.16.0/src/dsp/motion_field_projection.cc Examining data/libgav1-0.16.0/src/dsp/motion_field_projection.h Examining data/libgav1-0.16.0/src/dsp/motion_vector_search.cc Examining data/libgav1-0.16.0/src/dsp/motion_vector_search.h Examining data/libgav1-0.16.0/src/dsp/obmc.cc Examining data/libgav1-0.16.0/src/dsp/obmc.h Examining data/libgav1-0.16.0/src/dsp/super_res.cc Examining data/libgav1-0.16.0/src/dsp/super_res.h Examining data/libgav1-0.16.0/src/dsp/warp.cc Examining data/libgav1-0.16.0/src/dsp/warp.h Examining data/libgav1-0.16.0/src/dsp/weight_mask.cc Examining data/libgav1-0.16.0/src/dsp/weight_mask.h Examining data/libgav1-0.16.0/src/dsp/x86/average_blend_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/average_blend_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/cdef_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/cdef_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/common_avx2.h Examining data/libgav1-0.16.0/src/dsp/x86/common_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/convolve_avx2.cc Examining data/libgav1-0.16.0/src/dsp/x86/convolve_avx2.h Examining data/libgav1-0.16.0/src/dsp/x86/convolve_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/convolve_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/distance_weighted_blend_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/distance_weighted_blend_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/intra_edge_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/intra_edge_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/intrapred_cfl_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/intrapred_smooth_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/inverse_transform_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/inverse_transform_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/loop_filter_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/loop_filter_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/loop_restoration_10bit_avx2.cc Examining data/libgav1-0.16.0/src/dsp/x86/loop_restoration_10bit_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/loop_restoration_avx2.cc Examining data/libgav1-0.16.0/src/dsp/x86/loop_restoration_avx2.h Examining data/libgav1-0.16.0/src/dsp/x86/loop_restoration_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/loop_restoration_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/mask_blend_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/mask_blend_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/motion_field_projection_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/motion_field_projection_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/motion_vector_search_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/motion_vector_search_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/obmc_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/obmc_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/super_res_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/super_res_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/transpose_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/warp_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/warp_sse4.h Examining data/libgav1-0.16.0/src/dsp/x86/weight_mask_sse4.cc Examining data/libgav1-0.16.0/src/dsp/x86/weight_mask_sse4.h Examining data/libgav1-0.16.0/src/film_grain.cc Examining data/libgav1-0.16.0/src/film_grain.h Examining data/libgav1-0.16.0/src/frame_buffer.cc Examining data/libgav1-0.16.0/src/frame_buffer_utils.h Examining data/libgav1-0.16.0/src/frame_scratch_buffer.h Examining data/libgav1-0.16.0/src/gav1/decoder.h Examining data/libgav1-0.16.0/src/gav1/decoder_buffer.h Examining data/libgav1-0.16.0/src/gav1/decoder_settings.h Examining data/libgav1-0.16.0/src/gav1/frame_buffer.h Examining data/libgav1-0.16.0/src/gav1/status_code.h Examining data/libgav1-0.16.0/src/gav1/symbol_visibility.h Examining data/libgav1-0.16.0/src/gav1/version.h Examining data/libgav1-0.16.0/src/internal_frame_buffer_list.cc Examining data/libgav1-0.16.0/src/internal_frame_buffer_list.h Examining data/libgav1-0.16.0/src/loop_restoration_info.cc Examining data/libgav1-0.16.0/src/loop_restoration_info.h Examining data/libgav1-0.16.0/src/motion_vector.cc Examining data/libgav1-0.16.0/src/motion_vector.h Examining data/libgav1-0.16.0/src/obu_parser.cc Examining data/libgav1-0.16.0/src/obu_parser.h Examining data/libgav1-0.16.0/src/post_filter.h Examining data/libgav1-0.16.0/src/post_filter/cdef.cc Examining data/libgav1-0.16.0/src/post_filter/deblock.cc Examining data/libgav1-0.16.0/src/post_filter/loop_restoration.cc Examining data/libgav1-0.16.0/src/post_filter/post_filter.cc Examining data/libgav1-0.16.0/src/post_filter/super_res.cc Examining data/libgav1-0.16.0/src/prediction_mask.cc Examining data/libgav1-0.16.0/src/prediction_mask.h Examining data/libgav1-0.16.0/src/quantizer.cc Examining data/libgav1-0.16.0/src/quantizer.h Examining data/libgav1-0.16.0/src/reconstruction.cc Examining data/libgav1-0.16.0/src/reconstruction.h Examining data/libgav1-0.16.0/src/residual_buffer_pool.cc Examining data/libgav1-0.16.0/src/residual_buffer_pool.h Examining data/libgav1-0.16.0/src/status_code.cc Examining data/libgav1-0.16.0/src/symbol_decoder_context.cc Examining data/libgav1-0.16.0/src/symbol_decoder_context.h Examining data/libgav1-0.16.0/src/threading_strategy.cc Examining data/libgav1-0.16.0/src/threading_strategy.h Examining data/libgav1-0.16.0/src/tile.h Examining data/libgav1-0.16.0/src/tile/bitstream/mode_info.cc Examining data/libgav1-0.16.0/src/tile/bitstream/palette.cc Examining data/libgav1-0.16.0/src/tile/bitstream/partition.cc Examining data/libgav1-0.16.0/src/tile/bitstream/transform_size.cc Examining data/libgav1-0.16.0/src/tile/prediction.cc Examining data/libgav1-0.16.0/src/tile/tile.cc Examining data/libgav1-0.16.0/src/tile_scratch_buffer.cc Examining data/libgav1-0.16.0/src/tile_scratch_buffer.h Examining data/libgav1-0.16.0/src/utils/array_2d.h Examining data/libgav1-0.16.0/src/utils/bit_mask_set.h Examining data/libgav1-0.16.0/src/utils/bit_reader.cc Examining data/libgav1-0.16.0/src/utils/bit_reader.h Examining data/libgav1-0.16.0/src/utils/block_parameters_holder.cc Examining data/libgav1-0.16.0/src/utils/block_parameters_holder.h Examining data/libgav1-0.16.0/src/utils/blocking_counter.h Examining data/libgav1-0.16.0/src/utils/common.h Examining data/libgav1-0.16.0/src/utils/compiler_attributes.h Examining data/libgav1-0.16.0/src/utils/constants.cc Examining data/libgav1-0.16.0/src/utils/constants.h Examining data/libgav1-0.16.0/src/utils/cpu.cc Examining data/libgav1-0.16.0/src/utils/cpu.h Examining data/libgav1-0.16.0/src/utils/dynamic_buffer.h Examining data/libgav1-0.16.0/src/utils/entropy_decoder.cc Examining data/libgav1-0.16.0/src/utils/entropy_decoder.h Examining data/libgav1-0.16.0/src/utils/executor.cc Examining data/libgav1-0.16.0/src/utils/executor.h Examining data/libgav1-0.16.0/src/utils/logging.cc Examining data/libgav1-0.16.0/src/utils/logging.h Examining data/libgav1-0.16.0/src/utils/memory.h Examining data/libgav1-0.16.0/src/utils/parameter_tree.cc Examining data/libgav1-0.16.0/src/utils/parameter_tree.h Examining data/libgav1-0.16.0/src/utils/queue.h Examining data/libgav1-0.16.0/src/utils/raw_bit_reader.cc Examining data/libgav1-0.16.0/src/utils/raw_bit_reader.h Examining data/libgav1-0.16.0/src/utils/reference_info.h Examining data/libgav1-0.16.0/src/utils/segmentation.cc Examining data/libgav1-0.16.0/src/utils/segmentation.h Examining data/libgav1-0.16.0/src/utils/segmentation_map.cc Examining data/libgav1-0.16.0/src/utils/segmentation_map.h Examining data/libgav1-0.16.0/src/utils/stack.h Examining data/libgav1-0.16.0/src/utils/threadpool.cc Examining data/libgav1-0.16.0/src/utils/threadpool.h Examining data/libgav1-0.16.0/src/utils/types.h Examining data/libgav1-0.16.0/src/utils/unbounded_queue.h Examining data/libgav1-0.16.0/src/utils/vector.h Examining data/libgav1-0.16.0/src/version.cc Examining data/libgav1-0.16.0/src/warp_prediction.cc Examining data/libgav1-0.16.0/src/warp_prediction.h Examining data/libgav1-0.16.0/src/yuv_buffer.cc Examining data/libgav1-0.16.0/src/yuv_buffer.h Examining data/libgav1-0.16.0/tests/fuzzer/decoder_fuzzer.cc Examining data/libgav1-0.16.0/tests/fuzzer/decoder_fuzzer_frame_parallel.cc Examining data/libgav1-0.16.0/tests/fuzzer/fuzzer_temp_file.h Examining data/libgav1-0.16.0/tests/fuzzer/obu_parser_fuzzer.cc FINAL RESULTS: data/libgav1-0.16.0/src/dsp/arm/common_neon.h:90:35: [4] (buffer) StrCat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). const std::string name0 = absl::StrCat(name, ".val[0]").c_str(); data/libgav1-0.16.0/src/dsp/arm/common_neon.h:93:35: [4] (buffer) StrCat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). const std::string name1 = absl::StrCat(name, ".val[1]").c_str(); data/libgav1-0.16.0/src/utils/logging.cc:55:3: [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, ap); data/libgav1-0.16.0/src/utils/threadpool.cc:209:14: [4] (format) snprintf: 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 rv = snprintf(name, sizeof(name), "%s/%" PRId64, pool_->name_prefix_, data/libgav1-0.16.0/src/utils/threadpool.cc:220:14: [4] (format) snprintf: 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 rv = snprintf(name, sizeof(name), "%s/%" PRId64, pool_->name_prefix_, data/libgav1-0.16.0/examples/file_reader.cc:65:20: [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). raw_file_ptr = fopen(file_name.c_str(), "rb"); data/libgav1-0.16.0/examples/file_reader_constants.cc:19: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 kIvfSignature[4] = {'D', 'K', 'I', 'F'}; data/libgav1-0.16.0/examples/file_reader_constants.cc:20: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 kAv1FourCcUpper[4] = {'A', 'V', '0', '1'}; data/libgav1-0.16.0/examples/file_reader_constants.cc:21: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 kAv1FourCcLower[4] = {'a', 'v', '0', '1'}; data/libgav1-0.16.0/examples/file_reader_constants.h:33: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. extern const char kIvfSignature[4]; data/libgav1-0.16.0/examples/file_reader_constants.h:34: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. extern const char kAv1FourCcUpper[4]; data/libgav1-0.16.0/examples/file_reader_constants.h:35: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. extern const char kAv1FourCcLower[4]; data/libgav1-0.16.0/examples/file_writer.cc:99:20: [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). raw_file_ptr = fopen(file_name.c_str(), "wb"); data/libgav1-0.16.0/examples/file_writer.cc:145: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 error_string[256]; data/libgav1-0.16.0/examples/gav1_decode.cc:257:29: [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). frame_timing_file.reset(fopen(options.frame_timing_file_name, "wb")); data/libgav1-0.16.0/src/dsp/arm/common_neon.h:201: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(&temp, buf, 2); data/libgav1-0.16.0/src/dsp/arm/common_neon.h:209: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(&temp, buf, 2); data/libgav1-0.16.0/src/dsp/arm/common_neon.h:220: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(&temp, buf, 4); data/libgav1-0.16.0/src/dsp/arm/common_neon.h:228: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(&temp, buf, 4); data/libgav1-0.16.0/src/dsp/arm/common_neon.h:241: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, &val, sizeof(val)); data/libgav1-0.16.0/src/dsp/arm/film_grain_neon.cc:817: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. memcpy(luma_buffer, &in_y_row[luma_x], valid_range * sizeof(in_y_row[0])); data/libgav1-0.16.0/src/dsp/arm/film_grain_neon.cc:944: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. memcpy(luma_buffer, &in_y_row[luma_x], valid_range * sizeof(in_y_row[0])); data/libgav1-0.16.0/src/dsp/arm/intra_edge_neon.cc:107: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. memcpy(dst_buffer + i, temp, remainder); data/libgav1-0.16.0/src/dsp/arm/intra_edge_neon.cc:198: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(dst_buffer + i, temp, remainder); data/libgav1-0.16.0/src/dsp/arm/intrapred_directional_neon.cc:226: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. memcpy(dst, top_ptr, width); data/libgav1-0.16.0/src/dsp/arm/intrapred_directional_neon.cc:227: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. memcpy(dst + stride, top_ptr + 1, width); data/libgav1-0.16.0/src/dsp/arm/intrapred_directional_neon.cc:228: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. memcpy(dst + 2 * stride, top_ptr + 2, width); data/libgav1-0.16.0/src/dsp/arm/intrapred_directional_neon.cc:229: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. memcpy(dst + 3 * stride, top_ptr + 3, width); data/libgav1-0.16.0/src/dsp/arm/intrapred_directional_neon.cc:781: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(top_buffer + 128, static_cast<const uint8_t*>(top_row) - 16, 160); data/libgav1-0.16.0/src/dsp/arm/intrapred_directional_neon.cc:782: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(left_buffer + 128, static_cast<const uint8_t*>(left_column) - 16, 160); data/libgav1-0.16.0/src/dsp/arm/inverse_transform_neon.cc:497: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(&dst[y * width], dst, width * sizeof(dst[0])); data/libgav1-0.16.0/src/dsp/arm/loop_restoration_neon.cc:554: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(wiener_buffer_horizontal, wiener_buffer_horizontal - wiener_stride, data/libgav1-0.16.0/src/dsp/arm/loop_restoration_neon.cc:556: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(restoration_buffer->wiener_buffer, data/libgav1-0.16.0/src/dsp/convolve.cc:479: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(dest, src, width * sizeof(Pixel)); data/libgav1-0.16.0/src/dsp/film_grain.cc:280: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. memcpy(&noise_stripe[i * plane_width + (x << (1 - subsampling_x))], data/libgav1-0.16.0/src/dsp/film_grain.cc:333: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. memcpy(&noise_stripe[i * plane_width], data/libgav1-0.16.0/src/dsp/film_grain.cc:408: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. memcpy(&noise_stripe[i * plane_width + (x << (1 - subsampling_x)) + j], data/libgav1-0.16.0/src/dsp/intra_edge.cc:37: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(edge, buffer, sizeof(edge[0]) * size); data/libgav1-0.16.0/src/dsp/intra_edge.cc:56: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(temp + 2, pixel_buffer, sizeof(temp[0]) * size); data/libgav1-0.16.0/src/dsp/intrapred.cc:174: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(dst, top_row, block_width * sizeof(Pixel)); data/libgav1-0.16.0/src/dsp/intrapred.cc:385: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[0], &top[-1], (width + 1) * sizeof(top[0])); data/libgav1-0.16.0/src/dsp/intrapred.cc:419: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(dst, &buffer[1][1], width * sizeof(dst[0])); data/libgav1-0.16.0/src/dsp/intrapred.cc:421: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(dst, &buffer[row2][1], width * sizeof(dst[0])); data/libgav1-0.16.0/src/dsp/intrapred.cc:520: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. memcpy(dst, top_ptr, sizeof(*top_ptr) * width); data/libgav1-0.16.0/src/dsp/loop_restoration.cc:214: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(wiener_buffer, wiener_buffer - width, data/libgav1-0.16.0/src/dsp/loop_restoration.cc:216: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(wiener_buffer_org, wiener_buffer_org + width, data/libgav1-0.16.0/src/dsp/warp.cc:204:13: [2] (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_row, first_dst_row, 8 * sizeof(*dst_row)); data/libgav1-0.16.0/src/dsp/x86/common_sse4.h:100: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(&temp, buf, 2); data/libgav1-0.16.0/src/dsp/x86/common_sse4.h:193: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, &val, 2); data/libgav1-0.16.0/src/dsp/x86/common_sse4.h:198: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, &val, sizeof(val)); data/libgav1-0.16.0/src/dsp/x86/distance_weighted_blend_sse4.cc:87: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(dst, &result_1, sizeof(result_1)); data/libgav1-0.16.0/src/dsp/x86/distance_weighted_blend_sse4.cc:90: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(dst, &result_2, sizeof(result_2)); data/libgav1-0.16.0/src/dsp/x86/distance_weighted_blend_sse4.cc:93: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(dst, &result_3, sizeof(result_3)); data/libgav1-0.16.0/src/dsp/x86/intra_edge_sse4.cc:157: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(edge, buffer, size); data/libgav1-0.16.0/src/dsp/x86/intra_edge_sse4.cc:213: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(temp + 2, pixel_buffer, sizeof(temp[0]) * size); data/libgav1-0.16.0/src/dsp/x86/intrapred_cfl_sse4.cc:106: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(&src_bytes, src, 4); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:291: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, &row1, 4); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:294: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, &row2, 4); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:297: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, &row3, 4); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1425: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(dst, top + offset, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1427: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(dst, top + offset + 1, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1429: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(dst, top + offset + 2, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1431: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(dst, top + offset + 3, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1436: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(dst, top + offset, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1438: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(dst, top + offset + 1, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1440: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(dst, top + offset + 2, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1442: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(dst, top + offset + 3, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1444: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(dst, top + offset + 4, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1446: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(dst, top + offset + 5, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1448: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(dst, top + offset + 6, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1450: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(dst, top + offset + 7, width); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1782: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, &result_row1, sizeof(result_row1)); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1785: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, &result_row2, sizeof(result_row2)); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:1788: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, &result_row3, sizeof(result_row3)); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:2385: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(top_buffer + 128, static_cast<const uint8_t*>(top_row) - 16, 160); data/libgav1-0.16.0/src/dsp/x86/intrapred_sse4.cc:2386: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(left_buffer + 128, static_cast<const uint8_t*>(left_column) - 16, 160); data/libgav1-0.16.0/src/dsp/x86/inverse_transform_sse4.cc:288: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(&dst[y * width], dst, width * sizeof(dst[0])); data/libgav1-0.16.0/src/dsp/x86/loop_restoration_10bit_avx2.cc:549: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(wiener_buffer_horizontal, wiener_buffer_horizontal - wiener_stride, data/libgav1-0.16.0/src/dsp/x86/loop_restoration_10bit_avx2.cc:551: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(restoration_buffer->wiener_buffer, data/libgav1-0.16.0/src/dsp/x86/loop_restoration_10bit_sse4.cc:505: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(wiener_buffer_horizontal, wiener_buffer_horizontal - wiener_stride, data/libgav1-0.16.0/src/dsp/x86/loop_restoration_10bit_sse4.cc:507: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(restoration_buffer->wiener_buffer, data/libgav1-0.16.0/src/dsp/x86/loop_restoration_avx2.cc:562: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(wiener_buffer_horizontal, wiener_buffer_horizontal - wiener_stride, data/libgav1-0.16.0/src/dsp/x86/loop_restoration_avx2.cc:564: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(restoration_buffer->wiener_buffer, data/libgav1-0.16.0/src/dsp/x86/loop_restoration_sse4.cc:569: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(wiener_buffer_horizontal, wiener_buffer_horizontal - wiener_stride, data/libgav1-0.16.0/src/dsp/x86/loop_restoration_sse4.cc:571: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(restoration_buffer->wiener_buffer, data/libgav1-0.16.0/src/dsp/x86/obmc_sse4.cc:62: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(pred, &second_row_result, sizeof(second_row_result)); data/libgav1-0.16.0/src/dsp/x86/obmc_sse4.cc:100: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(pred, &second_row_result, sizeof(second_row_result)); data/libgav1-0.16.0/src/dsp/x86/warp_sse4.cc:241: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(dst_row, first_dst_row, 8 * sizeof(*dst_row)); data/libgav1-0.16.0/src/film_grain.cc:253: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(dest_plane, source_plane, width * sizeof(Pixel)); data/libgav1-0.16.0/src/film_grain.cc:500: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((*noise_image)[y], first_noise_stripe + y * plane_width, data/libgav1-0.16.0/src/film_grain.cc:510: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. memcpy((*noise_image)[y + i], noise_stripe + i * plane_width, data/libgav1-0.16.0/src/film_grain.cc:522: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. memcpy((*noise_image)[y + i], noise_stripe + i * plane_width, data/libgav1-0.16.0/src/obu_parser.cc:2472: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. memcpy(metadata_.itu_t_t35_payload_bytes.get(), data, i); data/libgav1-0.16.0/src/post_filter.h:298: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. memcpy(dst, src, width * sizeof(Pixel)); data/libgav1-0.16.0/src/post_filter/cdef.cc:39: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. memcpy(dst - kCdefBorder, src - kCdefBorder, data/libgav1-0.16.0/src/post_filter/cdef.cc:42: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. memcpy(dst - kCdefBorder, left_border, kCdefBorder * sizeof(dst[0])); data/libgav1-0.16.0/src/post_filter/cdef.cc:44: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(dst, src, block_width * sizeof(dst[0])); data/libgav1-0.16.0/src/post_filter/cdef.cc:49: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. memcpy(dst + block_width, src + block_width, data/libgav1-0.16.0/src/post_filter/cdef.cc:81: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(dst, src, width * pixel_size); data/libgav1-0.16.0/src/post_filter/cdef.cc:111: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. memcpy(dst, src, row_width); data/libgav1-0.16.0/src/post_filter/post_filter.cc:103: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(dst, src, sizeof(Pixel) * stride); data/libgav1-0.16.0/src/post_filter/post_filter.cc:122: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(dst, src, sizeof(Pixel) * stride); data/libgav1-0.16.0/src/post_filter/post_filter.cc:329: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(dst, src + row * stride, row_width); data/libgav1-0.16.0/src/post_filter/post_filter.cc:413: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. memcpy(dst, src, row_width); data/libgav1-0.16.0/src/post_filter/post_filter.cc:477:11: [2] (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_line, src_line, upscaled_width); data/libgav1-0.16.0/src/post_filter/super_res.cc:183: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. memcpy(line_buffer_start, input, plane_width << pixel_size_log2); data/libgav1-0.16.0/src/prediction_mask.cc:158: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(master_mask[kWedgeVertical][y], kWedgeMasterVertical, data/libgav1-0.16.0/src/prediction_mask.cc:163: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(master_mask[kWedgeOblique63][y], kWedgeMasterObliqueEven + shift, data/libgav1-0.16.0/src/prediction_mask.cc:165: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(master_mask[kWedgeOblique63][y + 1], kWedgeMasterObliqueOdd + shift, data/libgav1-0.16.0/src/prediction_mask.cc:221: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. memcpy(wedge_masks_row, master_mask_row, width); data/libgav1-0.16.0/src/quantizer.cc:202: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(quantizer_matrix[kTransformSize##W##x##H].get(), \ data/libgav1-0.16.0/src/symbol_decoder_context.cc:103: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(destination, source, sizeof(source)) data/libgav1-0.16.0/src/tile/bitstream/palette.cc:310: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. memcpy( data/libgav1-0.16.0/src/tile/prediction.cc:318: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. memcpy(top_row, &top_row_src[x], top_limit * sizeof(Pixel)); data/libgav1-0.16.0/src/tile/prediction.cc:1093: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. memcpy(buf_ptr + left_width, &reference_block[ref_y][copy_start_x], data/libgav1-0.16.0/src/tile/tile.cc:353: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(residual, src, 32 * sizeof(src[0])); data/libgav1-0.16.0/src/tile/tile.cc:354: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(residual + 64, src + 32, 32 * sizeof(src[0])); data/libgav1-0.16.0/src/tile/tile.cc:360: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(residual + 64, src + 32, 32 * sizeof(src[0])); data/libgav1-0.16.0/src/tile/tile.cc:944: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((*intra_prediction_buffer_)[plane].get() + column_start * pixel_size, data/libgav1-0.16.0/src/utils/segmentation_map.cc:38: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(segment_id_buffer_.get(), from.segment_id_buffer_.get(), data/libgav1-0.16.0/src/utils/threadpool.cc:93: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(name_prefix_, name_prefix, name_prefix_len); data/libgav1-0.16.0/src/utils/threadpool.cc:207: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 name[64]; data/libgav1-0.16.0/src/utils/threadpool.cc:218: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 name[16]; data/libgav1-0.16.0/src/utils/threadpool.h:160: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_prefix_[16]; data/libgav1-0.16.0/src/utils/unbounded_queue.h:190: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. alignas(T) char buffer[kBlockCapacity * sizeof(T)]; data/libgav1-0.16.0/src/utils/vector.h:105:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(static_cast<void*>(new_items), data/libgav1-0.16.0/examples/file_writer.cc:126:36: [1] (buffer) strlen: Does not handle 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 (fwrite(kY4mFrameHeader, 1, strlen(kY4mFrameHeader), file_) != data/libgav1-0.16.0/examples/file_writer.cc:127:9: [1] (buffer) strlen: Does not handle 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(kY4mFrameHeader)) { data/libgav1-0.16.0/examples/gav1_decode.cc:180: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). } else if (strlen(argv[i]) > 1 && argv[i][0] == '-') { data/libgav1-0.16.0/src/utils/memory.h:73:10: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. return memalign(alignment, size); data/libgav1-0.16.0/src/utils/threadpool.cc:92: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). std::min(strlen(name_prefix), sizeof(name_prefix_) - 1); data/libgav1-0.16.0/tests/fuzzer/fuzzer_temp_file.h:37: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). const size_t suffix_len = strlen(suffix); data/libgav1-0.16.0/tests/fuzzer/fuzzer_temp_file.h:49: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). const size_t buffer_sz = strlen(leading_temp_path) + suffix_len + 1; ANALYSIS SUMMARY: Hits = 133 Lines analyzed = 93625 in approximately 2.20 seconds (42650 lines/second) Physical Source Lines of Code (SLOC) = 71493 Hits@level = [0] 93 [1] 7 [2] 121 [3] 0 [4] 5 [5] 0 Hits@level+ = [0+] 226 [1+] 133 [2+] 126 [3+] 5 [4+] 5 [5+] 0 Hits/KSLOC@level+ = [0+] 3.16115 [1+] 1.86032 [2+] 1.76241 [3+] 0.0699369 [4+] 0.0699369 [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.