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/libxsmm-1.9/include/libxsmm_bgemm.h
Examining data/libxsmm-1.9/include/libxsmm_cpuid.h
Examining data/libxsmm-1.9/include/libxsmm_dnn.h
Examining data/libxsmm-1.9/include/libxsmm_frontend.h
Examining data/libxsmm-1.9/include/libxsmm_fsspmdm.h
Examining data/libxsmm-1.9/include/libxsmm_generator.h
Examining data/libxsmm-1.9/include/libxsmm_intrinsics_x86.h
Examining data/libxsmm-1.9/include/libxsmm_macros.h
Examining data/libxsmm-1.9/include/libxsmm_malloc.h
Examining data/libxsmm-1.9/include/libxsmm_math.h
Examining data/libxsmm-1.9/include/libxsmm_mhd.h
Examining data/libxsmm-1.9/include/libxsmm_spmdm.h
Examining data/libxsmm-1.9/include/libxsmm_sync.h
Examining data/libxsmm-1.9/include/libxsmm_timer.h
Examining data/libxsmm-1.9/include/libxsmm_typedefs.h
Examining data/libxsmm-1.9/samples/bgemm/bgemm.c
Examining data/libxsmm-1.9/samples/cp2k/cp2k.cpp
Examining data/libxsmm-1.9/samples/dispatch/dispatch.c
Examining data/libxsmm-1.9/samples/dnn/layer_example_f32.c
Examining data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c
Examining data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c
Examining data/libxsmm-1.9/samples/edge/asparse_srsoa.c
Examining data/libxsmm-1.9/samples/edge/bsparse_scsoa.c
Examining data/libxsmm-1.9/samples/edge/bsparse_srsoa.c
Examining data/libxsmm-1.9/samples/edge/common_edge_proxy.h
Examining data/libxsmm-1.9/samples/edge/edge_proxy_common.c
Examining data/libxsmm-1.9/samples/edge/edge_proxy_common.h
Examining data/libxsmm-1.9/samples/edge/edge_vol_int.c
Examining data/libxsmm-1.9/samples/eigen/eigen_smm.cpp
Examining data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp
Examining data/libxsmm-1.9/samples/generator/validation.c
Examining data/libxsmm-1.9/samples/iconv/iconv.c
Examining data/libxsmm-1.9/samples/lstm/lstm.c
Examining data/libxsmm-1.9/samples/matcopy/matcopy.c
Examining data/libxsmm-1.9/samples/nek/stream_update_kernels.c
Examining data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c
Examining data/libxsmm-1.9/samples/pyfr/pyfr_gemm_cm.c
Examining data/libxsmm-1.9/samples/pyfr/pyfr_gemm_rm.c
Examining data/libxsmm-1.9/samples/scratch/scratch.c
Examining data/libxsmm-1.9/samples/seissol/proxy_seissol.cpp
Examining data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp
Examining data/libxsmm-1.9/samples/seissol/proxy_seissol_bytes.hpp
Examining data/libxsmm-1.9/samples/seissol/proxy_seissol_flops.hpp
Examining data/libxsmm-1.9/samples/seissol/proxy_seissol_integrators.hpp
Examining data/libxsmm-1.9/samples/smm/blas.cpp
Examining data/libxsmm-1.9/samples/smm/dispatched.cpp
Examining data/libxsmm-1.9/samples/smm/inlined.cpp
Examining data/libxsmm-1.9/samples/smm/specialized.cpp
Examining data/libxsmm-1.9/samples/spmdm/spmdm.c
Examining data/libxsmm-1.9/samples/sync/sync_barrier.c
Examining data/libxsmm-1.9/samples/sync/sync_lock.c
Examining data/libxsmm-1.9/samples/transpose/kernel.c
Examining data/libxsmm-1.9/samples/transpose/transpose.c
Examining data/libxsmm-1.9/samples/wrap/autobatch.c
Examining data/libxsmm-1.9/samples/wrap/dgemm.c
Examining data/libxsmm-1.9/samples/wrap/dgemv.c
Examining data/libxsmm-1.9/samples/xgemm/kernel.c
Examining data/libxsmm-1.9/samples/xgemm/xgemm.c
Examining data/libxsmm-1.9/src/generator_common.c
Examining data/libxsmm-1.9/src/generator_common.h
Examining data/libxsmm-1.9/src/generator_convolution.c
Examining data/libxsmm-1.9/src/generator_convolution_backward_avx2.c
Examining data/libxsmm-1.9/src/generator_convolution_backward_avx2.h
Examining data/libxsmm-1.9/src/generator_convolution_backward_avx512.c
Examining data/libxsmm-1.9/src/generator_convolution_backward_avx512.h
Examining data/libxsmm-1.9/src/generator_convolution_common.c
Examining data/libxsmm-1.9/src/generator_convolution_common.h
Examining data/libxsmm-1.9/src/generator_convolution_forward_avx2.c
Examining data/libxsmm-1.9/src/generator_convolution_forward_avx2.h
Examining data/libxsmm-1.9/src/generator_convolution_forward_avx512.c
Examining data/libxsmm-1.9/src/generator_convolution_forward_avx512.h
Examining data/libxsmm-1.9/src/generator_convolution_weight_update_avx2.c
Examining data/libxsmm-1.9/src/generator_convolution_weight_update_avx2.h
Examining data/libxsmm-1.9/src/generator_convolution_weight_update_avx512.c
Examining data/libxsmm-1.9/src/generator_convolution_weight_update_avx512.h
Examining data/libxsmm-1.9/src/generator_convolution_winograd.c
Examining data/libxsmm-1.9/src/generator_convolution_winograd_forward_avx512.c
Examining data/libxsmm-1.9/src/generator_convolution_winograd_forward_avx512.h
Examining data/libxsmm-1.9/src/generator_convolution_winograd_weight_update_avx512.c
Examining data/libxsmm-1.9/src/generator_convolution_winograd_weight_update_avx512.h
Examining data/libxsmm-1.9/src/generator_gemm.c
Examining data/libxsmm-1.9/src/generator_gemm_avx2_microkernel.c
Examining data/libxsmm-1.9/src/generator_gemm_avx2_microkernel.h
Examining data/libxsmm-1.9/src/generator_gemm_avx512_microkernel.c
Examining data/libxsmm-1.9/src/generator_gemm_avx512_microkernel.h
Examining data/libxsmm-1.9/src/generator_gemm_avx512_microkernel_nofsdbcst.c
Examining data/libxsmm-1.9/src/generator_gemm_avx512_microkernel_nofsdbcst.h
Examining data/libxsmm-1.9/src/generator_gemm_avx_microkernel.c
Examining data/libxsmm-1.9/src/generator_gemm_avx_microkernel.h
Examining data/libxsmm-1.9/src/generator_gemm_common.c
Examining data/libxsmm-1.9/src/generator_gemm_common.h
Examining data/libxsmm-1.9/src/generator_gemm_imci_avx512.c
Examining data/libxsmm-1.9/src/generator_gemm_imci_avx512.h
Examining data/libxsmm-1.9/src/generator_gemm_imci_microkernel.c
Examining data/libxsmm-1.9/src/generator_gemm_imci_microkernel.h
Examining data/libxsmm-1.9/src/generator_gemm_noarch.c
Examining data/libxsmm-1.9/src/generator_gemm_noarch.h
Examining data/libxsmm-1.9/src/generator_gemm_sse3_avx_avx2_avx512.c
Examining data/libxsmm-1.9/src/generator_gemm_sse3_avx_avx2_avx512.h
Examining data/libxsmm-1.9/src/generator_gemm_sse3_microkernel.c
Examining data/libxsmm-1.9/src/generator_gemm_sse3_microkernel.h
Examining data/libxsmm-1.9/src/generator_matcopy.c
Examining data/libxsmm-1.9/src/generator_matcopy_avx_avx512.c
Examining data/libxsmm-1.9/src/generator_matcopy_avx_avx512.h
Examining data/libxsmm-1.9/src/generator_spgemm.c
Examining data/libxsmm-1.9/src/generator_spgemm_csc_asparse.c
Examining data/libxsmm-1.9/src/generator_spgemm_csc_asparse.h
Examining data/libxsmm-1.9/src/generator_spgemm_csc_bsparse.c
Examining data/libxsmm-1.9/src/generator_spgemm_csc_bsparse.h
Examining data/libxsmm-1.9/src/generator_spgemm_csc_bsparse_soa.c
Examining data/libxsmm-1.9/src/generator_spgemm_csc_bsparse_soa.h
Examining data/libxsmm-1.9/src/generator_spgemm_csc_reader.c
Examining data/libxsmm-1.9/src/generator_spgemm_csc_reader.h
Examining data/libxsmm-1.9/src/generator_spgemm_csr_asparse.c
Examining data/libxsmm-1.9/src/generator_spgemm_csr_asparse.h
Examining data/libxsmm-1.9/src/generator_spgemm_csr_asparse_reg.c
Examining data/libxsmm-1.9/src/generator_spgemm_csr_asparse_reg.h
Examining data/libxsmm-1.9/src/generator_spgemm_csr_asparse_soa.c
Examining data/libxsmm-1.9/src/generator_spgemm_csr_asparse_soa.h
Examining data/libxsmm-1.9/src/generator_spgemm_csr_bsparse_soa.c
Examining data/libxsmm-1.9/src/generator_spgemm_csr_bsparse_soa.h
Examining data/libxsmm-1.9/src/generator_spgemm_csr_reader.c
Examining data/libxsmm-1.9/src/generator_spgemm_csr_reader.h
Examining data/libxsmm-1.9/src/generator_transpose.c
Examining data/libxsmm-1.9/src/generator_transpose_avx_avx512.c
Examining data/libxsmm-1.9/src/generator_transpose_avx_avx512.h
Examining data/libxsmm-1.9/src/generator_x86_instructions.c
Examining data/libxsmm-1.9/src/generator_x86_instructions.h
Examining data/libxsmm-1.9/src/libxsmm_bgemm.c
Examining data/libxsmm-1.9/src/libxsmm_cpuid_x86.c
Examining data/libxsmm-1.9/src/libxsmm_dnn.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_backward.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_backward.h
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_forward.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_forward.h
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_weight_update.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_weight_update.h
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_winograd_backward.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_winograd_backward.h
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_winograd_forward.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_winograd_forward.h
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_winograd_weight_update.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_convolution_winograd_weight_update.h
Examining data/libxsmm-1.9/src/libxsmm_dnn_dryruns.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_dryruns.h
Examining data/libxsmm-1.9/src/libxsmm_dnn_handle.c
Examining data/libxsmm-1.9/src/libxsmm_dnn_handle.h
Examining data/libxsmm-1.9/src/libxsmm_ext.c
Examining data/libxsmm-1.9/src/libxsmm_ext.h
Examining data/libxsmm-1.9/src/libxsmm_ext_bgemm.c
Examining data/libxsmm-1.9/src/libxsmm_ext_gemm.c
Examining data/libxsmm-1.9/src/libxsmm_ext_trans.c
Examining data/libxsmm-1.9/src/libxsmm_fsspmdm.c
Examining data/libxsmm-1.9/src/libxsmm_gemm.c
Examining data/libxsmm-1.9/src/libxsmm_gemm.h
Examining data/libxsmm-1.9/src/libxsmm_gemm_diff.c
Examining data/libxsmm-1.9/src/libxsmm_gemm_diff.h
Examining data/libxsmm-1.9/src/libxsmm_generator.c
Examining data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c
Examining data/libxsmm-1.9/src/libxsmm_generator_convolution_winograd_driver.c
Examining data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c
Examining data/libxsmm-1.9/src/libxsmm_hash.c
Examining data/libxsmm-1.9/src/libxsmm_hash.h
Examining data/libxsmm-1.9/src/libxsmm_main.c
Examining data/libxsmm-1.9/src/libxsmm_main.h
Examining data/libxsmm-1.9/src/libxsmm_malloc.c
Examining data/libxsmm-1.9/src/libxsmm_math.c
Examining data/libxsmm-1.9/src/libxsmm_mhd.c
Examining data/libxsmm-1.9/src/libxsmm_perf.c
Examining data/libxsmm-1.9/src/libxsmm_perf.h
Examining data/libxsmm-1.9/src/libxsmm_python.c
Examining data/libxsmm-1.9/src/libxsmm_spmdm.c
Examining data/libxsmm-1.9/src/libxsmm_spmdm_begin.h
Examining data/libxsmm-1.9/src/libxsmm_spmdm_begin_avx2.h
Examining data/libxsmm-1.9/src/libxsmm_spmdm_begin_avx512.h
Examining data/libxsmm-1.9/src/libxsmm_spmdm_end.h
Examining data/libxsmm-1.9/src/libxsmm_sync.c
Examining data/libxsmm-1.9/src/libxsmm_timer.c
Examining data/libxsmm-1.9/src/libxsmm_trace.c
Examining data/libxsmm-1.9/src/libxsmm_trace.h
Examining data/libxsmm-1.9/src/libxsmm_trans.c
Examining data/libxsmm-1.9/src/libxsmm_trans.h
Examining data/libxsmm-1.9/src/perf_jitdump.h
Examining data/libxsmm-1.9/src/template/libxsmm.h
Examining data/libxsmm-1.9/src/template/libxsmm_bgemm.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_bgemm_copyin_a.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_bgemm_copyin_b.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_bgemm_copyin_c.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_bgemm_copyout_c.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_config.h
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_inlined.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_inlined_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_input_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_input_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_input_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_output_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_output_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_custom_custom_output_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_inlined.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_inlined_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_input_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_input_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_input_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_output_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_output_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_nhwc_custom_output_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_weight_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_backward_weight_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_inlined.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_inlined_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_input_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_input_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_input_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_output_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_output_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_custom_custom_output_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_inlined.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_inlined_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_input_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_input_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_input_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_output_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_output_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_nhwc_custom_output_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_weight_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_weight_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_forward_weight_trans_alpha6_avx512.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_custom_custom_deloutput_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_custom_custom_deloutput_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_custom_custom_inlined.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_custom_custom_inlined_knm.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_custom_custom_input_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_custom_custom_input_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_delweight_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_delweight_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_nhwc_custom_deloutput_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_nhwc_custom_deloutput_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_nhwc_custom_inlined.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_nhwc_custom_inlined_knm.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_nhwc_custom_input_trans_alpha4.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolution_winograd_weight_update_nhwc_custom_input_trans_alpha6.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_bwd_custom_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_fwd_custom_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_fwd_custom_custom_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_fwd_nhwc_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_fwd_nhwc_custom_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_fwd_nhwc_rsck.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_fwd_nhwc_rsck_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_upd_custom_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_dryrun_upd_custom_custom_opt.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_custom_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_custom_custom_1.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_custom_custom_2.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_custom_custom_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_custom_custom_stream.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_nhwc_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_nhwc_custom_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_nhwc_rsck.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_bwd_nhwc_rsck_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_custom_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_custom_custom_1.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_custom_custom_2.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_custom_custom_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_custom_custom_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_custom_custom_stream.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_custom_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_custom_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_custom_stream.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_rsck.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_rsck_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_rsck_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_nhwc_rsck_stream.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_fwd_stream.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_custom_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_custom_custom_1.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_custom_custom_2.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_custom_custom_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_custom_custom_stream.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_custom_custom_stream_opt.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_nhwc_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_nhwc_custom_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_nhwc_rsck.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_convolve_st_upd_nhwc_rsck_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_fwd_custom_custom_bias.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_fwd_custom_custom_bias_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_fwd_custom_custom_padding.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_fwd_custom_custom_padding_img_par.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_tensor_bias_copy_in_nchw.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_tensor_bias_copy_out_nchw.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_tensor_buffer_copy_in_nchw.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_tensor_buffer_copy_out_nchw.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_tensor_filter_copy_in_kcrs.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_tensor_filter_copy_out_kcrs.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_zero_rim_st_input_custom.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_zero_rim_st_input_custom_fallback.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_dnn_zero_rim_st_input_nhwc.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_matdiff.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_spmdm_compute_bfloat16_thread.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_spmdm_compute_fp32_thread.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_spmdm_createSparseSlice_bfloat16_thread.tpl.c
Examining data/libxsmm-1.9/src/template/libxsmm_spmdm_createSparseSlice_fp32_thread.tpl.c
Examining data/libxsmm-1.9/tests/atomics.c
Examining data/libxsmm-1.9/tests/blas.c
Examining data/libxsmm-1.9/tests/diff.c
Examining data/libxsmm-1.9/tests/gemmflags.c
Examining data/libxsmm-1.9/tests/hash.c
Examining data/libxsmm-1.9/tests/headeronly.c
Examining data/libxsmm-1.9/tests/headeronly_aux.c
Examining data/libxsmm-1.9/tests/malloc.c
Examining data/libxsmm-1.9/tests/matcopy.c
Examining data/libxsmm-1.9/tests/matdiff.c
Examining data/libxsmm-1.9/tests/math.c
Examining data/libxsmm-1.9/tests/mhd.c
Examining data/libxsmm-1.9/tests/otrans.c
Examining data/libxsmm-1.9/tests/threadsafety.c
Examining data/libxsmm-1.9/tests/vla.c

FINAL RESULTS:

data/libxsmm-1.9/include/libxsmm_macros.h:498:38:  [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.
# define LIBXSMM_SNPRINTF(S, N, ...) snprintf(S, N, __VA_ARGS__)
data/libxsmm-1.9/include/libxsmm_macros.h:500:38:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
# define LIBXSMM_SNPRINTF(S, N, ...) sprintf(S, __VA_ARGS__); LIBXSMM_UNUSED(N)
data/libxsmm-1.9/samples/iconv/iconv.c:47:27:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
# define FEXIST(FILENAME) access(FILENAME, F_OK)
data/libxsmm-1.9/samples/iconv/iconv.c:114:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    if (0 < sprintf(filename, "%s.mhd", filename_in) && 0 != image) {
data/libxsmm-1.9/samples/seissol/proxy_seissol.cpp:100:10:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    fp = popen("lscpu | grep MHz | awk '{print $3}'", "r");
data/libxsmm-1.9/src/generator_common.c:62:3:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
  strcpy( o_dest, i_src );
data/libxsmm-1.9/src/generator_common.c:111:5:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
    strcat(l_new_string, i_code_to_append);
data/libxsmm-1.9/src/libxsmm_main.c:1426:35:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
          LIBXSMM_NO_OFFLOAD(int, fprintf, stderr, "LIBXSMM ERROR: %s\n",
data/libxsmm-1.9/src/libxsmm_perf.c:72:34:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
# define LIBXSMM_PERF_ERROR(msg) fprintf(stderr, msg)
data/libxsmm-1.9/src/libxsmm_trace.c:302:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
              sprintf(buffer, "0x%" PRIxPTR, (uintptr_t)*symbol);
data/libxsmm-1.9/src/libxsmm_trace.c:391:22:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
            if (1 == sscanf(value, "%*[^(](%s0x", value)) {
data/libxsmm-1.9/include/libxsmm_sync.h:348:73:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
#     define LIBXSMM_LOCK_INIT_spin(LOCK, ATTR) { LIBXSMM_UNUSED(ATTR); InitializeCriticalSection(LOCK); }
data/libxsmm-1.9/include/libxsmm_sync.h:351:46:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
#     define LIBXSMM_LOCK_ACQUIRE_spin(LOCK) EnterCriticalSection(LOCK)
data/libxsmm-1.9/samples/bgemm/bgemm.c:108:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:175:35:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:55:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:56:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:104:63:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    buf[i] = (float)((initOne != 0) ? 1.0 : ((initPos != 0) ? drand48() : (0.05 - drand48()/10.0)));
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:104:83:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    buf[i] = (float)((initOne != 0) ? 1.0 : ((initPos != 0) ? drand48() : (0.05 - drand48()/10.0)));
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:422:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK"), *const env_winograd = getenv("WINOGRAD");
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:422:72:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK"), *const env_winograd = getenv("WINOGRAD");
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:1611:41:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  { const char *const env_check_scale = getenv("CHECK_SCALE");
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:40:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:41:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:321:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK")/*, *const env_winograd = getenv("WINOGRAD")*/;
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:357:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(1);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:712:41:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  { const char *const env_check_scale = getenv("CHECK_SCALE");
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:40:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:41:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:343:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK")/*, *const env_winograd = getenv("WINOGRAD")*/;
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:379:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(1);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:734:41:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  { const char *const env_check_scale = getenv("CHECK_SCALE");
data/libxsmm-1.9/samples/edge/asparse_srsoa.c:81:77:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        LIBXSMM_VLA_ACCESS(3, l_p_b, l_i, l_j, l_k, N, N_CRUNS) = (REALTYPE)drand48();
data/libxsmm-1.9/samples/edge/bsparse_scsoa.c:258:77:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        LIBXSMM_VLA_ACCESS(3, l_p_a, l_i, l_j, l_k, K, N_CRUNS) = (REALTYPE)drand48();
data/libxsmm-1.9/samples/edge/bsparse_srsoa.c:101:77:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        LIBXSMM_VLA_ACCESS(3, l_p_a, l_i, l_j, l_k, K, N_CRUNS) = (REALTYPE)drand48();
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:39:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:40:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/edge/edge_vol_int.c:43:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/edge/edge_vol_int.c:44:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/edge/edge_vol_int.c:155:28:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      q[i*elem_size + j] = drand48();
data/libxsmm-1.9/samples/edge/edge_vol_int.c:163:29:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      qt[i*elem_size + j] = drand48();
data/libxsmm-1.9/samples/edge/edge_vol_int.c:214:28:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      q[i*elem_size + j] = drand48();
data/libxsmm-1.9/samples/edge/edge_vol_int.c:222:29:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      qt[i*elem_size + j] = drand48();
data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp:96:35:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_check = getenv("CHECK"), *const env_nthreads = getenv("NTHREADS");
data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp:96:74:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_check = getenv("CHECK"), *const env_nthreads = getenv("NTHREADS");
data/libxsmm-1.9/samples/generator/validation.c:131:49:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_p_a[(l_j * MY_LDA) + l_i] = (REALTYPE)drand48();
data/libxsmm-1.9/samples/generator/validation.c:152:51:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
          l_p_b[(l_j * MY_LDB) + l_i] = (REALTYPE)drand48();
data/libxsmm-1.9/samples/iconv/iconv.c:100:32:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_mult = getenv("MULT"), *const env_orig = getenv("ORIG");
data/libxsmm-1.9/samples/iconv/iconv.c:100:66:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_mult = getenv("MULT"), *const env_orig = getenv("ORIG");
data/libxsmm-1.9/samples/lstm/lstm.c:274:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/lstm/lstm.c:426:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/lstm/lstm.c:566:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/lstm/lstm.c:946:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c:230:26:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    l_b[l_i] = (REALTYPE)drand48();
data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c:247:39:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    l_c_gold_betaone[l_i] = (REALTYPE)drand48();
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_cm.c:85:12:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    a[i] = drand48();
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_cm.c:90:12:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    b[i] = drand48();
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_rm.c:85:12:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    a[i] = drand48();
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_rm.c:90:12:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    b[i] = drand48();
data/libxsmm-1.9/samples/scratch/scratch.c:87:38:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const longlife_env = getenv("LONGLIFE");
data/libxsmm-1.9/samples/seissol/proxy_seissol.cpp:93:12:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  p_freq = getenv ("SEISSOL_PROXY_FREQUENCY");
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:135:15:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  pScenario = getenv ("SEISSOL_PROXY_SCENARIO");
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:245:72:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        m_cellInformation[l_cell].faceRelations[f][0] = ((unsigned int)lrand48() % 4);
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:246:72:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        m_cellInformation[l_cell].faceRelations[f][1] = ((unsigned int)lrand48() % 3);
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:247:71:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        m_cellInformation[l_cell].faceNeighborIds[f] = ((unsigned int)lrand48() % i_cells);
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:290:57:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      m_dofs[(l_cell*NUMBER_OF_ALIGNED_DOFS)+i] = (real)drand48();
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:293:58:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      m_tdofs[(l_cell*NUMBER_OF_ALIGNED_DOFS)+i] = (real)drand48();
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:302:57:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      m_ders[(l_cell*NUMBER_OF_ALIGNED_DERS)+i] = (real)drand48();
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:360:63:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        m_localIntegration[l_cell].starMatrices[m][j] = (real)drand48();
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:366:57:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        m_localIntegration[l_cell].nApNm1[m][j] = (real)drand48();
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:385:63:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        m_neighboringIntegration[l_cell].nAmNm1[m][j] = (real)drand48();
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:430:34:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      m_globalPointer[i] = (real)drand48();
data/libxsmm-1.9/samples/spmdm/spmdm.c:43:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/spmdm/spmdm.c:44:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/spmdm/spmdm.c:217:21:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    double random = drand48();
data/libxsmm-1.9/samples/spmdm/spmdm.c:219:30:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    float  random_f = (float)random;
data/libxsmm-1.9/samples/spmdm/spmdm.c:223:25:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    float  val = (float)random;
data/libxsmm-1.9/samples/spmdm/spmdm.c:225:9:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    if (random > 0.85) A_gold[l] = val;
data/libxsmm-1.9/samples/spmdm/spmdm.c:230:21:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    double random = drand48();
data/libxsmm-1.9/samples/spmdm/spmdm.c:232:30:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    float  random_f = (float)random;
data/libxsmm-1.9/samples/spmdm/spmdm.c:236:25:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    float  val = (float)random;
data/libxsmm-1.9/samples/spmdm/spmdm.c:241:25:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    C0_gold[l] = (float)drand48();
data/libxsmm-1.9/samples/transpose/kernel.c:38:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/transpose/kernel.c:39:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/transpose/kernel.c:59:26:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        dtmp = 1.0 - 2.0*drand48();
data/libxsmm-1.9/samples/transpose/kernel.c:82:26:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        dtmp = 1.0 - 2.0*drand48();
data/libxsmm-1.9/samples/transpose/transpose.c:144:35:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_tasks = getenv("TASKS"), *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/transpose/transpose.c:144:71:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_tasks = getenv("TASKS"), *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/transpose/transpose.c:174:7:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      srand(RAND_SEED);
data/libxsmm-1.9/samples/transpose/transpose.c:177:7:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      srand(libxsmm_timer_tick() % ((unsigned int)-1));
data/libxsmm-1.9/samples/transpose/transpose.c:262:7:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      srand(RAND_SEED); /* reproduce the same sequence as above */
data/libxsmm-1.9/samples/xgemm/kernel.c:38:10:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define drand48() ((double)rand() / RAND_MAX)
data/libxsmm-1.9/samples/xgemm/kernel.c:39:18:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
# define srand48 srand
data/libxsmm-1.9/samples/xgemm/kernel.c:365:46:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_a_d[(l_j * l_lda) + l_i] = (double)drand48();
data/libxsmm-1.9/samples/xgemm/kernel.c:371:46:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_b_d[(l_j * l_ldb) + l_i] = (double)drand48();
data/libxsmm-1.9/samples/xgemm/kernel.c:392:45:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_a_f[(l_j * l_lda) + l_i] = (float)drand48();
data/libxsmm-1.9/samples/xgemm/kernel.c:398:45:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_b_f[(l_j * l_ldb) + l_i] = (float)drand48();
data/libxsmm-1.9/samples/xgemm/kernel.c:421:46:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_a_w[(l_j * l_lda) + l_i] = (short)(drand48() * 10.0);
data/libxsmm-1.9/samples/xgemm/kernel.c:427:46:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_b_w[(l_j * l_ldb) + l_i] = (short)(drand48() * 10.0);
data/libxsmm-1.9/samples/xgemm/kernel.c:449:46:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_a_w[(l_j * l_lda) + l_i] = (short)(drand48() * 10.0);
data/libxsmm-1.9/samples/xgemm/kernel.c:455:46:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_b_w[(l_j * l_ldb) + l_i] = (short)(drand48() * 10.0);
data/libxsmm-1.9/samples/xgemm/kernel.c:477:54:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_a_b[(l_j * l_lda) + l_i] = (unsigned char)(drand48() * 10.0);
data/libxsmm-1.9/samples/xgemm/kernel.c:483:45:  [3] (random) drand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        l_b_b[(l_j * l_ldb) + l_i] = (char)(drand48() * 10.0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:98:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_check = getenv("CHECK");
data/libxsmm-1.9/samples/xgemm/xgemm.c:105:35:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_tasks = getenv("TASKS");
data/libxsmm-1.9/src/libxsmm_bgemm.c:79:29:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_m = getenv("LIBXSMM_BGEMM_M"), *const env_n = getenv("LIBXSMM_BGEMM_N"), *const env_k = getenv("LIBXSMM_BGEMM_K");
data/libxsmm-1.9/src/libxsmm_bgemm.c:79:71:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_m = getenv("LIBXSMM_BGEMM_M"), *const env_n = getenv("LIBXSMM_BGEMM_N"), *const env_k = getenv("LIBXSMM_BGEMM_K");
data/libxsmm-1.9/src/libxsmm_bgemm.c:79:113:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_m = getenv("LIBXSMM_BGEMM_M"), *const env_n = getenv("LIBXSMM_BGEMM_N"), *const env_k = getenv("LIBXSMM_BGEMM_K");
data/libxsmm-1.9/src/libxsmm_bgemm.c:98:35:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
        const char *const env_p = getenv("LIBXSMM_BGEMM_PREFETCH");
data/libxsmm-1.9/src/libxsmm_dnn_handle.c:58:27:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env = getenv("LIBXSMM_DNN_INTERNAL_FORMAT");
data/libxsmm-1.9/src/libxsmm_dnn_handle.c:59:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env_jit = getenv("LIBXSMM_DNN_THREAD_PRIVATE_JIT");
data/libxsmm-1.9/src/libxsmm_dnn_handle.c:1257:27:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const env = getenv("LIBXSMM_DNN_INTERNAL_FORMAT");
data/libxsmm-1.9/src/libxsmm_ext_gemm.c:428:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const check = getenv("LIBXSMM_CHECK");
data/libxsmm-1.9/src/libxsmm_ext_gemm.c:511:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const check = getenv("LIBXSMM_CHECK");
data/libxsmm-1.9/src/libxsmm_gemm.c:117:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_p = getenv("LIBXSMM_TGEMM_PREFETCH");
data/libxsmm-1.9/src/libxsmm_gemm.c:124:35:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_locks = getenv("LIBXSMM_GEMM_NLOCKS");
data/libxsmm-1.9/src/libxsmm_gemm.c:131:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  { const char *const env_w = getenv("LIBXSMM_GEMM_WRAP");
data/libxsmm-1.9/src/libxsmm_gemm.c:135:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
      const char *const env_b = getenv("LIBXSMM_GEMM_BATCHSIZE");
data/libxsmm-1.9/src/libxsmm_gemm.c:156:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_m = getenv("LIBXSMM_TGEMM_M"), *const env_n = getenv("LIBXSMM_TGEMM_N"), *const env_k = getenv("LIBXSMM_TGEMM_K");
data/libxsmm-1.9/src/libxsmm_gemm.c:156:73:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_m = getenv("LIBXSMM_TGEMM_M"), *const env_n = getenv("LIBXSMM_TGEMM_N"), *const env_k = getenv("LIBXSMM_TGEMM_K");
data/libxsmm-1.9/src/libxsmm_gemm.c:156:115:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_m = getenv("LIBXSMM_TGEMM_M"), *const env_n = getenv("LIBXSMM_TGEMM_N"), *const env_k = getenv("LIBXSMM_TGEMM_K");
data/libxsmm-1.9/src/libxsmm_gemm.c:176:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_c = getenv("LIBXSMM_GEMM_CHUNKSIZE");
data/libxsmm-1.9/src/libxsmm_gemm.c:180:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_t = getenv("LIBXSMM_GEMM_TASKS");
data/libxsmm-1.9/src/libxsmm_gemm.c:453:29:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const check = getenv("LIBXSMM_CHECK");
data/libxsmm-1.9/src/libxsmm_gemm.c:495:29:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  const char *const check = getenv("LIBXSMM_CHECK");
data/libxsmm-1.9/src/libxsmm_main.c:420:45:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
      const char *const env_target_hidden = getenv("LIBXSMM_TARGET_HIDDEN");
data/libxsmm-1.9/src/libxsmm_main.c:509:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    { const char *const env = getenv("LIBXSMM_SCRATCH_POOLS");
data/libxsmm-1.9/src/libxsmm_main.c:519:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    { const char *const env = getenv("LIBXSMM_SCRATCH_LIMIT");
data/libxsmm-1.9/src/libxsmm_main.c:535:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    { const char *const env = getenv("LIBXSMM_SCRATCH_SCALE");
data/libxsmm-1.9/src/libxsmm_main.c:546:29:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    libxsmm_set_target_arch(getenv("LIBXSMM_TARGET")); /* set libxsmm_target_archid */
data/libxsmm-1.9/src/libxsmm_main.c:547:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    { const char *const env = getenv("LIBXSMM_SYNC");
data/libxsmm-1.9/src/libxsmm_main.c:563:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
      const char *const env = getenv("LIBXSMM_VERBOSE");
data/libxsmm-1.9/src/libxsmm_main.c:577:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    { const char *const env = getenv("LIBXSMM_TRACE");
data/libxsmm-1.9/src/libxsmm_main.c:599:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
        const char *const env = getenv("LIBXSMM_GEMM_PREFETCH");
data/libxsmm-1.9/src/libxsmm_main.c:688:39:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
      const char *const env_trylock = getenv("LIBXSMM_TRYLOCK");
data/libxsmm-1.9/src/libxsmm_malloc.c:667:37:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
            const char *const env = getenv("LIBXSMM_SE");
data/libxsmm-1.9/src/libxsmm_malloc.c:710:44:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
                const char *const envloc = getenv("HOME");
data/libxsmm-1.9/src/libxsmm_malloc.c:724:46:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
                  const char *const envloc = getenv("JITDUMPDIR");
data/libxsmm-1.9/src/libxsmm_perf.c:108:15:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
  path_base = getenv("JITDUMPDIR");
data/libxsmm-1.9/src/libxsmm_perf.c:110:17:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    path_base = getenv("HOME");
data/libxsmm-1.9/src/libxsmm_perf.c:113:17:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    path_base = getenv(".");
data/libxsmm-1.9/src/libxsmm_trans.c:70:33:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_jit = getenv("LIBXSMM_TRANS_JIT");
data/libxsmm-1.9/src/libxsmm_trans.c:76:31:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_m = getenv("LIBXSMM_TRANS_M"), *const env_n = getenv("LIBXSMM_TRANS_N");
data/libxsmm-1.9/src/libxsmm_trans.c:76:73:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *const env_m = getenv("LIBXSMM_TRANS_M"), *const env_n = getenv("LIBXSMM_TRANS_N");
data/libxsmm-1.9/include/libxsmm_typedefs.h:97: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 data[LIBXSMM_GEMM_DESCRIPTOR_SIZE];
data/libxsmm-1.9/samples/bgemm/bgemm.c:86:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint m = (1 < argc ? atoi(argv[1]) : 1024);
data/libxsmm-1.9/samples/bgemm/bgemm.c:87:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint k = (3 < argc ? atoi(argv[3]) : m);
data/libxsmm-1.9/samples/bgemm/bgemm.c:88:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint n = (2 < argc ? atoi(argv[2]) : k);
data/libxsmm-1.9/samples/bgemm/bgemm.c:89:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint bm = (4 < argc ? atoi(argv[4]) : 32);
data/libxsmm-1.9/samples/bgemm/bgemm.c:90:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint bk = (6 < argc ? atoi(argv[6]) : bm);
data/libxsmm-1.9/samples/bgemm/bgemm.c:91:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint bn = (5 < argc ? atoi(argv[5]) : bk);
data/libxsmm-1.9/samples/bgemm/bgemm.c:92:70:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_bgemm_order order = (libxsmm_bgemm_order)(7 < argc ? atoi(argv[7]) : 0);
data/libxsmm-1.9/samples/bgemm/bgemm.c:93:35:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int nrepeat = (8 < argc ? atoi(argv[8]) : 100);
data/libxsmm-1.9/samples/bgemm/bgemm.c:94:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_m1 = (9 < argc ? atoi(argv[9]) : 1);
data/libxsmm-1.9/samples/bgemm/bgemm.c:95:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_n1  = (10 < argc ? atoi(argv[10]) : 1);
data/libxsmm-1.9/samples/bgemm/bgemm.c:96:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_k1 = (11 < argc ? atoi(argv[11]) : 1);
data/libxsmm-1.9/samples/bgemm/bgemm.c:97:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_k2 = (12 < argc ? atoi(argv[12]) : 1);
data/libxsmm-1.9/samples/bgemm/bgemm.c:98:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int ab = (13 < argc ? atoi(argv[13]) : 0);
data/libxsmm-1.9/samples/bgemm/bgemm.c:99:57:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint lda = (14 < argc ? atoi(argv[13]) : m);
data/libxsmm-1.9/samples/bgemm/bgemm.c:100:57:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint ldb = (15 < argc ? atoi(argv[14]) : k);
data/libxsmm-1.9/samples/bgemm/bgemm.c:101:57:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint ldc = (16 < argc ? atoi(argv[15]) : m);
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:154:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint m = 1 < argc ? std::atoi(argv[1]) : 23;
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:156:52:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint r = 2 < argc ? (0 < std::atoi(argv[2]) ? std::atoi(argv[2]) : ('+' == *argv[2]
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:156:73:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint r = 2 < argc ? (0 < std::atoi(argv[2]) ? std::atoi(argv[2]) : ('+' == *argv[2]
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:159:52:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint t = 3 < argc ? (0 < std::atoi(argv[3]) ? std::atoi(argv[3]) : ('+' == *argv[3]
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:159:73:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint t = 3 < argc ? (0 < std::atoi(argv[3]) ? std::atoi(argv[3]) : ('+' == *argv[3]
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:162:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint k = 5 < argc ? std::atoi(argv[5]) : m;
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:163:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint n = 4 < argc ? std::atoi(argv[4]) : k;
data/libxsmm-1.9/samples/dispatch/dispatch.c:59:43:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int size = LIBXSMM_MAX(1 < argc ? atoi(argv[1]) : 10000/*default*/, 1);
data/libxsmm-1.9/samples/dispatch/dispatch.c:60:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int nthreads = LIBXSMM_CLMP(2 < argc ? atoi(argv[2]) : 1/*default*/, 1, max_nthreads);
data/libxsmm-1.9/samples/dispatch/dispatch.c:61:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int maxksize = LIBXSMM_CLMP(3 < argc ? atoi(argv[3]) : 64/*default*/, 1, LIBXSMM_MAX_M);
data/libxsmm-1.9/samples/dispatch/dispatch.c:62:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int minksize = LIBXSMM_CLMP(4 < argc ? atoi(argv[4]) : 4/*default*/, 1, maxksize);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:424:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int algo_winograd = (0 == env_winograd ? 0 : atoi(env_winograd));
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:464:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) iters      = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:465:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) ifw        = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:466:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) ifh        = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:467:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nImg       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:468:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nIfm       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:469:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nOfm       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:470:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) kw         = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:471:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) kh         = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:472:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padw       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:473:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padh       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:474:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) stride     = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_f32.c:477:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padding_mode = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:361:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) iters      = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:362:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) ifw        = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:363:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) ifh        = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:364:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nImg       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:365:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nIfm       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:366:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nOfm       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:367:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) kw         = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:368:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) kh         = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:369:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padw       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:370:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padh       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:371:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) stride     = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i16i32.c:373:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padding_mode = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:383:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) iters      = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:384:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) ifw        = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:385:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) ifh        = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:386:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nImg       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:387:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nIfm       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:388:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) nOfm       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:389:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) kw         = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:390:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) kh         = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:391:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padw       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:392:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padh       = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:393:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) stride     = atoi(argv[i++]);
data/libxsmm-1.9/samples/dnn/layer_example_i8i32.c:395:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) padding_mode = atoi(argv[i++]);
data/libxsmm-1.9/samples/edge/asparse_srsoa.c:37:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int M = ( argc == 7 ) ? atoi(argv[1]) : 9;
data/libxsmm-1.9/samples/edge/asparse_srsoa.c:38:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int N = ( argc == 7 ) ? atoi(argv[2]) : 10;
data/libxsmm-1.9/samples/edge/asparse_srsoa.c:39:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int K = ( argc == 7 ) ? atoi(argv[3]) : 9;
data/libxsmm-1.9/samples/edge/asparse_srsoa.c:40:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int N_CRUNS = ( argc == 7 ) ? atoi(argv[4]) : 8;
data/libxsmm-1.9/samples/edge/asparse_srsoa.c:41:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int REPS =    ( argc == 7 ) ? atoi(argv[5]) : 1;
data/libxsmm-1.9/samples/edge/bsparse_scsoa.c:193:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int M = ( argc == 7 ) ? atoi(argv[1]) : 9;
data/libxsmm-1.9/samples/edge/bsparse_scsoa.c:194:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int N = ( argc == 7 ) ? atoi(argv[2]) : 10;
data/libxsmm-1.9/samples/edge/bsparse_scsoa.c:195:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int K = ( argc == 7 ) ? atoi(argv[3]) : 20;
data/libxsmm-1.9/samples/edge/bsparse_scsoa.c:196:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int N_CRUNS = ( argc == 7 ) ? atoi(argv[4]) : 8;
data/libxsmm-1.9/samples/edge/bsparse_scsoa.c:197:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int REPS =    ( argc == 7 ) ? atoi(argv[5]) : 1;
data/libxsmm-1.9/samples/edge/bsparse_srsoa.c:39:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int M = ( argc == 7 ) ? atoi(argv[1]) : 9;
data/libxsmm-1.9/samples/edge/bsparse_srsoa.c:40:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int N = ( argc == 7 ) ? atoi(argv[2]) : 10;
data/libxsmm-1.9/samples/edge/bsparse_srsoa.c:41:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int K = ( argc == 7 ) ? atoi(argv[3]) : 20;
data/libxsmm-1.9/samples/edge/bsparse_srsoa.c:42:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int N_CRUNS = ( argc == 7 ) ? atoi(argv[4]) : 8;
data/libxsmm-1.9/samples/edge/bsparse_srsoa.c:43:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int REPS =    ( argc == 7 ) ? atoi(argv[5]) : 1;
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:64: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 l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:69:23:  [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).
  l_csr_file_handle = fopen( i_csr_file_in, "r" );
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:181: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 l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:186:23:  [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).
  l_csc_file_handle = fopen( i_csc_file_in, "r" );
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:292: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 l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:303:23:  [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).
  l_csr_file_handle = fopen( i_csr_file_in, "r" );
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:340: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 l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:351:23:  [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).
  l_csc_file_handle = fopen( i_csc_file_in, "r" );
data/libxsmm-1.9/samples/edge/edge_proxy_common.c:43:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/samples/edge/edge_proxy_common.c:48:23:  [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).
  l_csr_file_handle = fopen( i_csr_file_in, "r" );
data/libxsmm-1.9/samples/edge/edge_vol_int.c:109:34:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > (int)i) num_modes = atoi(argv[i++]);
data/libxsmm-1.9/samples/edge/edge_vol_int.c:110:34:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > (int)i) num_elems = atoi(argv[i++]);
data/libxsmm-1.9/samples/edge/edge_vol_int.c:111:33:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > (int)i) num_reps = atoi(argv[i++]);
data/libxsmm-1.9/samples/eigen/eigen_smm.cpp:119:55:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint benchmark = 1 < argc ? std::atoi(argv[1]) : 0;
data/libxsmm-1.9/samples/eigen/eigen_smm.cpp:120:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint m = (2 < argc ? std::atoi(argv[2]) : 23);
data/libxsmm-1.9/samples/eigen/eigen_smm.cpp:121:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint k = (4 < argc ? std::atoi(argv[4]) : m);
data/libxsmm-1.9/samples/eigen/eigen_smm.cpp:122:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint n = (3 < argc ? std::atoi(argv[3]) : k);
data/libxsmm-1.9/samples/eigen/eigen_smm.cpp:123:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint q = (5 < argc ? std::atoi(argv[5]) : 0/*auto*/);
data/libxsmm-1.9/samples/eigen/eigen_smm.cpp:124:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint nrepeat = (6 < argc ? std::atoi(argv[6]) : (0 >= q ? 13 : 1));
data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp:92:61:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    LIBXSMM_GEMM_CONST libxsmm_blasint m = (1 < argc ? std::atoi(argv[1]) : 512);
data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp:93:56:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    LIBXSMM_GEMM_CONST libxsmm_blasint k = (3 < argc ? atoi(argv[3]) : m);
data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp:94:56:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    LIBXSMM_GEMM_CONST libxsmm_blasint n = (2 < argc ? atoi(argv[2]) : k);
data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp:95:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int nrepeat = LIBXSMM_MAX(4 < argc ? atoi(argv[4]) : 13 / LIBXSMM_MAX(1, libxsmm_icbrt_u64(1ULL * m * n * k) >> 10), 3);
data/libxsmm-1.9/samples/eigen/eigen_tensor.cpp:99:62:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int nthreads = LIBXSMM_MAX(0 == env_nthreads ? 0 : atoi(env_nthreads), 1);
data/libxsmm-1.9/samples/iconv/iconv.c:77:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int kw = LIBXSMM_MAX(3 < argc ? atoi(argv[3]) : 39, 1);
data/libxsmm-1.9/samples/iconv/iconv.c:78:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int kh = LIBXSMM_MAX(4 < argc ? atoi(argv[4]) : kw, 1);
data/libxsmm-1.9/samples/iconv/iconv.c:92: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 filename[1024];
data/libxsmm-1.9/samples/iconv/iconv.c:102:85:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int mult = ((0 == env_mult || 0 == *env_mult) ? 64/*default*/ : LIBXSMM_MAX(atoi(env_mult), 0));
data/libxsmm-1.9/samples/iconv/iconv.c:104:73:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int orig = ((0 == env_orig || 0 == *env_orig) ? 0/*disabled*/ : atoi(env_orig));
data/libxsmm-1.9/samples/iconv/iconv.c:107:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (0 != FEXIST(filename_in) && 0 < atoi(filename_in)) {
data/libxsmm-1.9/samples/iconv/iconv.c:110:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    size_in[0] = atoi(filename_in);
data/libxsmm-1.9/samples/iconv/iconv.c:111:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    size_in[1] = (0 != split ? atoi(split + 1) : 0);
data/libxsmm-1.9/samples/iconv/iconv.c:178:28:  [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).
        FILE *const file = fopen("iconv_in.txt", "r"); /* convolution-matrix (kh x kw) */
data/libxsmm-1.9/samples/lstm/lstm.c:1216:32:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int type = (1 < argc ? atoi(argv[1]) : 0);
data/libxsmm-1.9/samples/lstm/lstm.c:1217:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint m = (2 < argc ? atoi(argv[2]) : 1024);
data/libxsmm-1.9/samples/lstm/lstm.c:1218:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint k = (4 < argc ? atoi(argv[4]) : m);
data/libxsmm-1.9/samples/lstm/lstm.c:1219:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint n = (3 < argc ? atoi(argv[3]) : k);
data/libxsmm-1.9/samples/lstm/lstm.c:1220:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint t = (5 < argc ? atoi(argv[5]) : 3);
data/libxsmm-1.9/samples/lstm/lstm.c:1221:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint bm = (6 < argc ? atoi(argv[6]) : 32);
data/libxsmm-1.9/samples/lstm/lstm.c:1222:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint bk = (8 < argc ? atoi(argv[8]) : bm);
data/libxsmm-1.9/samples/lstm/lstm.c:1223:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint bn = (7 < argc ? atoi(argv[7]) : bk);
data/libxsmm-1.9/samples/lstm/lstm.c:1224:70:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_bgemm_order order = (libxsmm_bgemm_order)(9 < argc ? atoi(argv[9]) : 0);
data/libxsmm-1.9/samples/lstm/lstm.c:1225:36:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int nrepeat = (10 < argc ? atoi(argv[10]) : 100);
data/libxsmm-1.9/samples/lstm/lstm.c:1226:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_m1 = (11 < argc ? atoi(argv[11]) : 1);
data/libxsmm-1.9/samples/lstm/lstm.c:1227:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_n1  = (12 < argc ? atoi(argv[12]) : 1);
data/libxsmm-1.9/samples/lstm/lstm.c:1228:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_k1 = (13 < argc ? atoi(argv[13]) : 1);
data/libxsmm-1.9/samples/lstm/lstm.c:1229:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_k2 = (14 < argc ? atoi(argv[14]) : 1);
data/libxsmm-1.9/samples/lstm/lstm.c:1230:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint b_m2 = (15 < argc ? atoi(argv[15]) : 1);
data/libxsmm-1.9/samples/lstm/lstm.c:1231:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint ldw = (16 < argc ? atoi(argv[16]) : m);
data/libxsmm-1.9/samples/lstm/lstm.c:1232:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint ldx = (17 < argc ? atoi(argv[17]) : k);
data/libxsmm-1.9/samples/lstm/lstm.c:1233:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint ldz = (18 < argc ? atoi(argv[18]) : m);
data/libxsmm-1.9/samples/lstm/lstm.c:1234:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint ldu = (19 < argc ? atoi(argv[19]) : m);
data/libxsmm-1.9/samples/lstm/lstm.c:1235:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint ldh = (20 < argc ? atoi(argv[20]) : m);
data/libxsmm-1.9/samples/matcopy/matcopy.c:40:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int m = (1 < argc ? atoi(argv[1]) : 16);
data/libxsmm-1.9/samples/matcopy/matcopy.c:41:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int n = (2 < argc ? atoi(argv[2]) : m);
data/libxsmm-1.9/samples/matcopy/matcopy.c:42:51:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int unsigned ldi = LIBXSMM_MAX(3 < argc ? atoi(argv[3]) : 0, m);
data/libxsmm-1.9/samples/matcopy/matcopy.c:43:51:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int unsigned ldo = LIBXSMM_MAX(4 < argc ? atoi(argv[4]) : 0, m);
data/libxsmm-1.9/samples/matcopy/matcopy.c:44:34:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int unroll = (5 < argc ? atoi(argv[5]) : 1);
data/libxsmm-1.9/samples/matcopy/matcopy.c:45:36:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int prefetch = (6 < argc ? atoi(argv[6]) : 0);
data/libxsmm-1.9/samples/matcopy/matcopy.c:46:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int flags = ((7 < argc && 0 != atoi(argv[7])) ? LIBXSMM_MATCOPY_FLAG_ZERO_SOURCE : 0);
data/libxsmm-1.9/samples/matcopy/matcopy.c:47:33:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int iters = (8 < argc ? atoi(argv[8]) : 1);
data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c:56: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 l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c:61:23:  [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).
  l_csr_file_handle = fopen( i_csr_file_in, "r" );
data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c:203:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_n = atoi(argv[2]);
data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c:204:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_reps = atoi(argv[3]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_cm.c:64:7:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  m = atoi(argv[1]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_cm.c:65:7:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  n = atoi(argv[2]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_cm.c:66:7:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  k = atoi(argv[3]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_cm.c:67:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  reps = atoi(argv[4]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_rm.c:64:7:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  m = atoi(argv[1]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_rm.c:65:7:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  n = atoi(argv[2]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_rm.c:66:7:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  k = atoi(argv[3]);
data/libxsmm-1.9/samples/pyfr/pyfr_gemm_rm.c:67:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  reps = atoi(argv[4]);
data/libxsmm-1.9/samples/scratch/scratch.c:65:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int ncycles = LIBXSMM_MAX(1 < argc ? atoi(argv[1]) : 100, 1);
data/libxsmm-1.9/samples/scratch/scratch.c:66:51:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int max_nallocs = LIBXSMM_CLMP(2 < argc ? atoi(argv[2]) : 4, 1, MAX_MALLOC_N);
data/libxsmm-1.9/samples/scratch/scratch.c:67:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int nthreads = LIBXSMM_CLMP(3 < argc ? atoi(argv[3]) : 1, 1, max_nthreads);
data/libxsmm-1.9/samples/scratch/scratch.c:88:82:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int enable_longlife = ((0 == longlife_env || 0 == *longlife_env) ? 0 : atoi(longlife_env));
data/libxsmm-1.9/samples/seissol/proxy_seissol.cpp:102: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.
      char tmp_buffer[20];
data/libxsmm-1.9/samples/seissol/proxy_seissol.cpp:140:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int i_cells = atoi(argv[1]);
data/libxsmm-1.9/samples/seissol/proxy_seissol.cpp:141:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  unsigned int i_timesteps = atoi(argv[2]);
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:146:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    data.open(file.c_str());
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:164:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    data.open(file.c_str());
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:176:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    data.open(file.c_str());
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:188:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    data.open(file.c_str());
data/libxsmm-1.9/samples/seissol/proxy_seissol_allocator.hpp:200:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    data.open(file.c_str());
data/libxsmm-1.9/samples/smm/blas.cpp:89:55:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint benchmark = 1 < argc ? std::atoi(argv[1]) : 0;
data/libxsmm-1.9/samples/smm/blas.cpp:90:61:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    LIBXSMM_GEMM_CONST libxsmm_blasint m = (2 < argc ? std::atoi(argv[2]) : 23);
data/libxsmm-1.9/samples/smm/blas.cpp:91:61:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    LIBXSMM_GEMM_CONST libxsmm_blasint k = (4 < argc ? std::atoi(argv[4]) : m);
data/libxsmm-1.9/samples/smm/blas.cpp:92:61:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    LIBXSMM_GEMM_CONST libxsmm_blasint n = (3 < argc ? std::atoi(argv[3]) : k);
data/libxsmm-1.9/samples/smm/blas.cpp:93:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint q = (5 < argc ? std::atoi(argv[5]) : 0/*auto*/);
data/libxsmm-1.9/samples/smm/blas.cpp:94:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint nrepeat = (6 < argc ? std::atoi(argv[6]) : (0 >= q ? 13 : 1));
data/libxsmm-1.9/samples/smm/dispatched.cpp:79:55:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint benchmark = 1 < argc ? std::atoi(argv[1]) : 0;
data/libxsmm-1.9/samples/smm/dispatched.cpp:80:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint m = (2 < argc ? std::atoi(argv[2]) : 23);
data/libxsmm-1.9/samples/smm/dispatched.cpp:81:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint k = (4 < argc ? std::atoi(argv[4]) : m);
data/libxsmm-1.9/samples/smm/dispatched.cpp:82:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint n = (3 < argc ? std::atoi(argv[3]) : k);
data/libxsmm-1.9/samples/smm/dispatched.cpp:83:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint q = (5 < argc ? std::atoi(argv[5]) : 0/*auto*/);
data/libxsmm-1.9/samples/smm/dispatched.cpp:84:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint nrepeat = (6 < argc ? std::atoi(argv[6]) : (0 >= q ? 13 : 1));
data/libxsmm-1.9/samples/smm/inlined.cpp:79:55:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint benchmark = 1 < argc ? std::atoi(argv[1]) : 0;
data/libxsmm-1.9/samples/smm/inlined.cpp:80:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint m = (2 < argc ? std::atoi(argv[2]) : 23);
data/libxsmm-1.9/samples/smm/inlined.cpp:81:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint k = (4 < argc ? std::atoi(argv[4]) : m);
data/libxsmm-1.9/samples/smm/inlined.cpp:82:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint n = (3 < argc ? std::atoi(argv[3]) : k);
data/libxsmm-1.9/samples/smm/inlined.cpp:83:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint q = (5 < argc ? std::atoi(argv[5]) : 0/*auto*/);
data/libxsmm-1.9/samples/smm/inlined.cpp:84:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint nrepeat = (6 < argc ? std::atoi(argv[6]) : (0 >= q ? 13 : 1));
data/libxsmm-1.9/samples/smm/specialized.cpp:80:55:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint benchmark = 1 < argc ? std::atoi(argv[1]) : 0;
data/libxsmm-1.9/samples/smm/specialized.cpp:81:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint m = (2 < argc ? std::atoi(argv[2]) : 23);
data/libxsmm-1.9/samples/smm/specialized.cpp:82:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint k = (4 < argc ? std::atoi(argv[4]) : m);
data/libxsmm-1.9/samples/smm/specialized.cpp:83:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint n = (3 < argc ? std::atoi(argv[3]) : k);
data/libxsmm-1.9/samples/smm/specialized.cpp:84:48:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint q = (5 < argc ? std::atoi(argv[5]) : 0/*auto*/);
data/libxsmm-1.9/samples/smm/specialized.cpp:85:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const libxsmm_blasint nrepeat = (6 < argc ? std::atoi(argv[6]) : (0 >= q ? 13 : 1));
data/libxsmm-1.9/samples/spmdm/spmdm.c:199:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) M      = atoi(argv[i++]);
data/libxsmm-1.9/samples/spmdm/spmdm.c:200:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) N      = atoi(argv[i++]);
data/libxsmm-1.9/samples/spmdm/spmdm.c:201:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) K      = atoi(argv[i++]);
data/libxsmm-1.9/samples/spmdm/spmdm.c:205:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (argc > i) reps   = atoi(argv[i++]);
data/libxsmm-1.9/samples/sync/sync_lock.c:65:47:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int nthreads = LIBXSMM_MAX(1 < argc ? atoi(argv[1]) : max_nthreads, 1);
data/libxsmm-1.9/samples/sync/sync_lock.c:66:50:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int wratioperc = LIBXSMM_CLMP(2 < argc ? atoi(argv[2]) : 5, 0, 100);
data/libxsmm-1.9/samples/sync/sync_lock.c:67:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int work_r = LIBXSMM_MAX(3 < argc ? atoi(argv[3]) : 100, 1);
data/libxsmm-1.9/samples/sync/sync_lock.c:68:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int work_w = LIBXSMM_MAX(4 < argc ? atoi(argv[4]) : (10 * work_r), 1);
data/libxsmm-1.9/samples/sync/sync_lock.c:69:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int nrepeat = LIBXSMM_MAX(5 < argc ? atoi(argv[5]) : 10000, 1);
data/libxsmm-1.9/samples/transpose/kernel.c:176:23:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( argc > 1 ) m = atoi(argv[1]);
data/libxsmm-1.9/samples/transpose/kernel.c:177:23:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( argc > 2 ) n = atoi(argv[2]);
data/libxsmm-1.9/samples/transpose/kernel.c:178:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( argc > 3 ) ld_in = atoi(argv[3]);
data/libxsmm-1.9/samples/transpose/kernel.c:179:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if ( argc > 4 ) ld_out = atoi(argv[4]);
data/libxsmm-1.9/samples/transpose/transpose.c:122:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint m = (2 < argc ? atoi(argv[2]) : 4096);
data/libxsmm-1.9/samples/transpose/transpose.c:124:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint n = (3 < argc ? atoi(argv[3]) : m);
data/libxsmm-1.9/samples/transpose/transpose.c:126:67:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint n = (3 < argc ? (('o' == t || 'O' == t) ? atoi(argv[3]) : m) : m);
data/libxsmm-1.9/samples/transpose/transpose.c:128:69:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint ldi = LIBXSMM_MAX/*sanitize ld*/(4 < argc ? atoi(argv[4]) : 0, m);
data/libxsmm-1.9/samples/transpose/transpose.c:129:69:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint ldo = LIBXSMM_MAX/*sanitize ld*/(5 < argc ? atoi(argv[5]) : 0, n);
data/libxsmm-1.9/samples/transpose/transpose.c:130:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int r = (6 < argc ? atoi(argv[6]) : 0), s = LIBXSMM_ABS(r);
data/libxsmm-1.9/samples/transpose/transpose.c:131:45:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint lower = (7 < argc ? atoi(argv[7]) : 0);
data/libxsmm-1.9/samples/transpose/transpose.c:145:76:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int tasks = (0 == env_tasks || 0 == *env_tasks) ? 0/*default*/ : atoi(env_tasks);
data/libxsmm-1.9/samples/transpose/transpose.c:146:76:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int check = (0 == env_check || 0 == *env_check) ? 1/*default*/ : atoi(env_check);
data/libxsmm-1.9/samples/transpose/transpose.c:227: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(b, a, (size_t)(kldi * kn * sizeof(ELEM_TYPE)));
data/libxsmm-1.9/samples/transpose/transpose.c:290: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(b, a, (size_t)(kldi * kn * sizeof(ELEM_TYPE)));
data/libxsmm-1.9/samples/wrap/autobatch.c:82:43:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint maxn = 1 < argc ? atoi(argv[1]) : 23;
data/libxsmm-1.9/samples/wrap/autobatch.c:83:55:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint maxv = LIBXSMM_MIN(2 < argc ? atoi(argv[2]) : 2, maxn);
data/libxsmm-1.9/samples/wrap/autobatch.c:84:43:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint size = 3 < argc ? atoi(argv[3]) : 1000;
data/libxsmm-1.9/samples/wrap/dgemm.c:69:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int size = 2 == argc ? atoi(argv[1]) : 500;
data/libxsmm-1.9/samples/wrap/dgemm.c:70:37:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE m = 2 < argc ? atoi(argv[1]) : 23;
data/libxsmm-1.9/samples/wrap/dgemm.c:71:37:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE k = 3 < argc ? atoi(argv[3]) : m;
data/libxsmm-1.9/samples/wrap/dgemm.c:72:37:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE n = 2 < argc ? atoi(argv[2]) : k;
data/libxsmm-1.9/samples/wrap/dgemm.c:73:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE lda = 4 < argc ? atoi(argv[4]) : m;
data/libxsmm-1.9/samples/wrap/dgemm.c:74:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE ldb = 5 < argc ? atoi(argv[5]) : k;
data/libxsmm-1.9/samples/wrap/dgemm.c:75:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE ldc = 6 < argc ? atoi(argv[6]) : m;
data/libxsmm-1.9/samples/wrap/dgemm.c:82:24:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (7 < argc) size = atoi(argv[7]);
data/libxsmm-1.9/samples/wrap/dgemv.c:68:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int size = 2 == argc ? atoi(argv[1]) : 500;
data/libxsmm-1.9/samples/wrap/dgemv.c:69:37:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE m = 2 < argc ? atoi(argv[1]) : 23;
data/libxsmm-1.9/samples/wrap/dgemv.c:70:37:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE n = 2 < argc ? atoi(argv[2]) : m;
data/libxsmm-1.9/samples/wrap/dgemv.c:71:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE lda = 3 < argc ? atoi(argv[3]) : m;
data/libxsmm-1.9/samples/wrap/dgemv.c:72:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE incx = 4 < argc ? atoi(argv[4]) : 1;
data/libxsmm-1.9/samples/wrap/dgemv.c:73:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const BLASINT_TYPE incy = 5 < argc ? atoi(argv[5]) : 1;
data/libxsmm-1.9/samples/wrap/dgemv.c:80:24:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  if (6 < argc) size = atoi(argv[6]);
data/libxsmm-1.9/samples/xgemm/kernel.c:285:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_m = atoi(argv[1]);
data/libxsmm-1.9/samples/xgemm/kernel.c:286:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_n = atoi(argv[2]);
data/libxsmm-1.9/samples/xgemm/kernel.c:287:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_k = atoi(argv[3]);
data/libxsmm-1.9/samples/xgemm/kernel.c:288:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_lda = atoi(argv[4]);
data/libxsmm-1.9/samples/xgemm/kernel.c:289:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ldb = atoi(argv[5]);
data/libxsmm-1.9/samples/xgemm/kernel.c:290:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ldc = atoi(argv[6]);
data/libxsmm-1.9/samples/xgemm/kernel.c:295:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_aligned_a = atoi(argv[9]);
data/libxsmm-1.9/samples/xgemm/kernel.c:296:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_aligned_c = atoi(argv[10]);
data/libxsmm-1.9/samples/xgemm/kernel.c:303:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  g_reps = atoi(argv[13]);
data/libxsmm-1.9/samples/xgemm/xgemm.c:83:74:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint m = LIBXSMM_DEFAULT(512, 1 < argc ? atoi(argv[1]) : 0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:84:72:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint k = LIBXSMM_DEFAULT(m, 3 < argc ? atoi(argv[3]) : 0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:85:72:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint n = LIBXSMM_DEFAULT(k, 2 < argc ? atoi(argv[2]) : 0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:86:74:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint lda = LIBXSMM_DEFAULT(m, 4 < argc ? atoi(argv[4]) : 0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:87:74:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint ldb = LIBXSMM_DEFAULT(k, 5 < argc ? atoi(argv[5]) : 0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:88:74:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  LIBXSMM_GEMM_CONST libxsmm_blasint ldc = LIBXSMM_DEFAULT(m, 6 < argc ? atoi(argv[6]) : 0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:94:16:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    9 < argc ? atoi(argv[9]) : 0);
data/libxsmm-1.9/samples/xgemm/xgemm.c:106:76:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int tasks = (0 == env_tasks || 0 == *env_tasks) ? 0/*default*/ : atoi(env_tasks);
data/libxsmm-1.9/src/generator_common.c:128: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 l_new_code[512];
data/libxsmm-1.9/src/generator_common.c:770: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 l_new_code[512];
data/libxsmm-1.9/src/generator_common.c:808: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 l_new_code[512];
data/libxsmm-1.9/src/generator_common.c:861: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 l_new_code[512];
data/libxsmm-1.9/src/generator_common.c:913:22:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static LIBXSMM_TLS char error_message[GENERATOR_COMMON_MAX_ERROR_LENGTH+1];
data/libxsmm-1.9/src/generator_common.c:1143: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 l_new_code[512];
data/libxsmm-1.9/src/generator_common.c:1161: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 l_new_code[512];
data/libxsmm-1.9/src/generator_convolution.c:212:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "a" );
data/libxsmm-1.9/src/generator_convolution.c:267:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "w" );
data/libxsmm-1.9/src/generator_convolution_winograd.c:100:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "a" );
data/libxsmm-1.9/src/generator_convolution_winograd.c:149:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "w" );
data/libxsmm-1.9/src/generator_convolution_winograd.c:217:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "a" );
data/libxsmm-1.9/src/generator_convolution_winograd.c:266:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "w" );
data/libxsmm-1.9/src/generator_gemm.c:206: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 l_new_code[512];
data/libxsmm-1.9/src/generator_gemm.c:229:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "a" );
data/libxsmm-1.9/src/generator_gemm.c:278:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "w" );
data/libxsmm-1.9/src/generator_gemm_common.c:575: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 l_new_code[512];
data/libxsmm-1.9/src/generator_gemm_noarch.c:48: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm.c:437:33:  [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).
    FILE *const l_file_handle = fopen( i_file_out, "a" );
data/libxsmm-1.9/src/generator_spgemm_csc_asparse.c:92: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm_csc_asparse.c:134: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm_csc_asparse.c:176: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm_csc_asparse.c:229: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm_csc_bsparse.c:96: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm_csc_reader.c:95: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 l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/src/generator_spgemm_csc_reader.c:100:23:  [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).
  l_csc_file_handle = fopen( i_csc_file_in, "r" );
data/libxsmm-1.9/src/generator_spgemm_csr_asparse.c:57: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm_csr_asparse_reg.c:51: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 l_new_code[512];
data/libxsmm-1.9/src/generator_spgemm_csr_asparse_reg.c:195: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 l_id[65];
data/libxsmm-1.9/src/generator_spgemm_csr_reader.c:56: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 l_line[512/*l_line_length*/+1];
data/libxsmm-1.9/src/generator_spgemm_csr_reader.c:61:23:  [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).
  l_csr_file_handle = fopen( i_csr_file_in, "r" );
data/libxsmm-1.9/src/generator_x86_instructions.c:715: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:718: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 l_gp_reg_base_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:719: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:1544: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:1547: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:1629: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:1632: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:2429: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:2432: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 l_gp_reg_base[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:2433: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 l_gp_reg_idx[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:2434: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:2435: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 l_broadcast[8];
data/libxsmm-1.9/src/generator_x86_instructions.c:2624: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:2627: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 l_gp_reg_base[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:2628: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 l_gp_reg_idx[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:2629: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:2630: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 l_broadcast[8];
data/libxsmm-1.9/src/generator_x86_instructions.c:2824: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:2827: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 l_gp_reg_base[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:2828: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 l_gp_reg_idx[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:2829: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3015: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3018: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3135: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3138: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3139: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 l_gp_reg_base_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3270: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3273: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 l_gp_reg_base_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3274: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3471: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3474: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3475: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3532: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3535: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3536: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3625: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3628: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 l_gp_reg_name_src[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3629: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 l_gp_reg_name_dest[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3630: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3678: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3681: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3727: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3730: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3803: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3806: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:3807: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3870: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3873: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:3902: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3975: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:3978: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 l_instr_name[16];
data/libxsmm-1.9/src/generator_x86_instructions.c:4118: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4273: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4276: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4329: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4332: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4510: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4513: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4570: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 l_new_code[1024];
data/libxsmm-1.9/src/generator_x86_instructions.c:4573: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 l_gp_reg_a[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4574: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 l_gp_reg_b[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4575: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 l_gp_reg_c[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4576: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 l_gp_reg_pre_a[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4577: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 l_gp_reg_pre_b[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4578: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 l_gp_reg_mloop[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4579: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 l_gp_reg_nloop[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4580: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 l_gp_reg_kloop[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4675: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4690: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4693: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4766: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4785: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 l_new_code[1024];
data/libxsmm-1.9/src/generator_x86_instructions.c:4842: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4859: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4862: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:4929: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:4950: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 l_new_code[1024];
data/libxsmm-1.9/src/generator_x86_instructions.c:5007: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:5022: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:5025: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 l_gp_reg_name[4];
data/libxsmm-1.9/src/generator_x86_instructions.c:5097: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 l_new_code[512];
data/libxsmm-1.9/src/generator_x86_instructions.c:5116: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 l_new_code[1024];
data/libxsmm-1.9/src/libxsmm_bgemm.c:52: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 pad[LIBXSMM_CACHELINE];
data/libxsmm-1.9/src/libxsmm_bgemm.c:80:88:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint mm = LIBXSMM_MIN(0 == bm ? ((0 == env_m || 0 == *env_m) ? 32 : atoi(env_m)) : *bm, m);
data/libxsmm-1.9/src/libxsmm_bgemm.c:81:88:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint kk = LIBXSMM_MIN(0 == bk ? ((0 == env_k || 0 == *env_k) ? mm : atoi(env_k)) : *bk, k);
data/libxsmm-1.9/src/libxsmm_bgemm.c:82:88:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const libxsmm_blasint nn = LIBXSMM_MIN(0 == bn ? ((0 == env_n || 0 == *env_n) ? kk : atoi(env_n)) : *bn, n);
data/libxsmm-1.9/src/libxsmm_bgemm.c:101:86:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          (0 == env_p || 0 == *env_p) ? prefetch_default : libxsmm_gemm_uid2prefetch(atoi(env_p)));
data/libxsmm-1.9/src/libxsmm_dnn_handle.c:65:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    internal_format_type = atoi(env);
data/libxsmm-1.9/src/libxsmm_dnn_handle.c:1263:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    internal_format_type = atoi(env);
data/libxsmm-1.9/src/libxsmm_fsspmdm.c:305: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(&fp, &(handle->kernel), sizeof(libxsmm_dmmfunction));
data/libxsmm-1.9/src/libxsmm_fsspmdm.c:324: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(&fp, &(handle->kernel), sizeof(libxsmm_smmfunction));
data/libxsmm-1.9/src/libxsmm_gemm.c:66: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 pad[LIBXSMM_CACHELINE];
data/libxsmm-1.9/src/libxsmm_gemm.c:119:87:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int uid = ((0 == env_p || 0 == *env_p) ? LIBXSMM_PREFETCH_AUTO/*default*/ : atoi(env_p));
data/libxsmm-1.9/src/libxsmm_gemm.c:125:79:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int nlocks = ((0 == env_locks || 0 == *env_locks) ? -1/*default*/ : atoi(env_locks));
data/libxsmm-1.9/src/libxsmm_gemm.c:133:73:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    libxsmm_gemm_wrap = ((0 == env_w || 0 == *env_w) ? (LIBXSMM_WRAP) : atoi(env_w));
data/libxsmm-1.9/src/libxsmm_gemm.c:136:74:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const unsigned int batchsize = ((0 == env_b || 0 == *env_b || 0 >= atoi(env_b)) ? (LIBXSMM_GEMM_BATCHSIZE) : atoi(env_b));
data/libxsmm-1.9/src/libxsmm_gemm.c:136:116:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const unsigned int batchsize = ((0 == env_b || 0 == *env_b || 0 >= atoi(env_b)) ? (LIBXSMM_GEMM_BATCHSIZE) : atoi(env_b));
data/libxsmm-1.9/src/libxsmm_gemm.c:157:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int m = ((0 == env_m || 0 == *env_m) ? 0 : atoi(env_m));
data/libxsmm-1.9/src/libxsmm_gemm.c:158:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int n = ((0 == env_n || 0 == *env_n) ? 0 : atoi(env_n));
data/libxsmm-1.9/src/libxsmm_gemm.c:159:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int k = ((0 == env_k || 0 == *env_k) ? 0 : atoi(env_k));
data/libxsmm-1.9/src/libxsmm_gemm.c:177:65:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    libxsmm_gemm_chunksize = ((0 == env_c || 0 == *env_c || 0 > atoi(env_c)) ? (LIBXSMM_GEMM_CHUNKSIZE) : atoi(env_c));
data/libxsmm-1.9/src/libxsmm_gemm.c:177:107:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    libxsmm_gemm_chunksize = ((0 == env_c || 0 == *env_c || 0 > atoi(env_c)) ? (LIBXSMM_GEMM_CHUNKSIZE) : atoi(env_c));
data/libxsmm-1.9/src/libxsmm_gemm.c:181:73:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    libxsmm_gemm_tasks = ((0 == env_t || 0 == *env_t) ? 0/*disabled*/ : atoi(env_t));
data/libxsmm-1.9/src/libxsmm_gemm.c:316: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 string_a[128], string_b[128], typeprefix = 0;
data/libxsmm-1.9/src/libxsmm_gemm.c:356: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.
      char extension_header[256];
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:94:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_kh = atoi(argv[4]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:95:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_kw = atoi(argv[5]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:96:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_unroll_kh = atoi(argv[6]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:97:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_unroll_kw = atoi(argv[7]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:98:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ofm_block = atoi(argv[8]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:99:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ifm_block = atoi(argv[9]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:100:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ofh_padded = atoi(argv[10]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:101:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ofw_padded = atoi(argv[11]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:102:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ofh_rb = atoi(argv[12]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:103:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ofw_rb = atoi(argv[13]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:104:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ifh_padded = atoi(argv[14]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:105:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ifw_padded = atoi(argv[15]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:106:16:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_stride_h = atoi(argv[16]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:107:16:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_stride_w = atoi(argv[17]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_driver.c:108:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_prec = atoi(argv[18]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_winograd_driver.c:136:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_itiles = atoi(argv[4]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_winograd_driver.c:137:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_jtiles = atoi(argv[5]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_winograd_driver.c:138:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_bimg = atoi(argv[6]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_winograd_driver.c:139:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ur = atoi(argv[7]);
data/libxsmm-1.9/src/libxsmm_generator_convolution_winograd_driver.c:146:14:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ur_ifm = atoi(argv[12]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:118:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_m = atoi(argv[4]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:119:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_n = atoi(argv[5]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:120:9:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_k = atoi(argv[6]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:121:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_lda = atoi(argv[7]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:122:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ldb = atoi(argv[8]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:123:11:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_ldc = atoi(argv[9]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:134:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_aligned_a = atoi(argv[12]);
data/libxsmm-1.9/src/libxsmm_generator_gemm_driver.c:135:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  l_aligned_c = atoi(argv[13]);
data/libxsmm-1.9/src/libxsmm_main.c:125: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 pad[LIBXSMM_CACHELINE];
data/libxsmm-1.9/src/libxsmm_main.c:311: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 title[256], range[256], unit[4];
data/libxsmm-1.9/src/libxsmm_main.c:421:71:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      const char *const target_arch = (0 == env_target_hidden || 0 == atoi(env_target_hidden))
data/libxsmm-1.9/src/libxsmm_main.c:514:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        libxsmm_scratch_pools = LIBXSMM_CLMP(atoi(env), 0, LIBXSMM_MALLOC_SCRATCH_MAX_NPOOLS);
data/libxsmm-1.9/src/libxsmm_main.c:548:65:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      libxsmm_nosync = (0 == env || 0 == *env) ? 0/*default*/ : atoi(env);
data/libxsmm-1.9/src/libxsmm_main.c:565:29:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        libxsmm_verbosity = atoi(env);
data/libxsmm-1.9/src/libxsmm_main.c:579: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[32] = { 0 };
data/libxsmm-1.9/src/libxsmm_main.c:635:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          const int uid = atoi(env);
data/libxsmm-1.9/src/libxsmm_main.c:708:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        internal_reglock_count = (0 != atoi(env_trylock) ? 1 : (INTERNAL_REGLOCK_MAXN));
data/libxsmm-1.9/src/libxsmm_main.c:911:21:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int jit = atoi(arch);
data/libxsmm-1.9/src/libxsmm_main.c:1061:22:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static LIBXSMM_TLS char result[4];
data/libxsmm-1.9/src/libxsmm_main.c:1079: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 jit_name[256] = { 0 };
data/libxsmm-1.9/src/libxsmm_main.c:1083: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 jit_buffer[LIBXSMM_CODE_MAXSIZE];
data/libxsmm-1.9/src/libxsmm_main.c:1415: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(code->pmm, generated_code.generated_code, generated_code.code_size);
data/libxsmm-1.9/src/libxsmm_malloc.c:172: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 pad[LIBXSMM_CACHELINE];
data/libxsmm-1.9/src/libxsmm_malloc.c:191: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.
LIBXSMM_APIVAR(char internal_malloc_pool_buffer[(LIBXSMM_MALLOC_SCRATCH_MAX_NPOOLS)*sizeof(internal_malloc_pool_type)+(LIBXSMM_CACHELINE)-1]);
data/libxsmm-1.9/src/libxsmm_malloc.c:518: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 filename[4096];
data/libxsmm-1.9/src/libxsmm_malloc.c:670:37:  [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).
              FILE *const selinux = fopen("/sys/fs/selinux/enforce", "rb");
data/libxsmm-1.9/src/libxsmm_malloc.c:679:25:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
              sevalue = atoi(env);
data/libxsmm-1.9/src/libxsmm_malloc.c:795:25:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        if (0 != extra) memcpy(buffer, extra, extra_size);
data/libxsmm-1.9/src/libxsmm_malloc.c:990:37:  [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).
            FILE *const code_file = fopen(name, "wb");
data/libxsmm-1.9/src/libxsmm_mhd.c:165: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 buffer[LIBXSMM_MHD_MAX_LINELENGTH];
data/libxsmm-1.9/src/libxsmm_mhd.c:167:25:  [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).
                      ? fopen(header_filename, "rb") : 0;
data/libxsmm-1.9/src/libxsmm_mhd.c:186:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        const int value = atoi(buffer + value_begin);
data/libxsmm-1.9/src/libxsmm_mhd.c:194:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        const int value = atoi(buffer + value_begin);
data/libxsmm-1.9/src/libxsmm_mhd.c:206:27:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        const int value = atoi(buffer + value_begin);
data/libxsmm-1.9/src/libxsmm_mhd.c:257:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          const int ivalue = atoi(value);
data/libxsmm-1.9/src/libxsmm_mhd.c:269:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
          const int ivalue = atoi(value);
data/libxsmm-1.9/src/libxsmm_mhd.c:401: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.
      char element[LIBXSMM_MHD_MAX_ELEMSIZE];
data/libxsmm-1.9/src/libxsmm_mhd.c:473: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 element[LIBXSMM_MHD_MAX_ELEMSIZE];
data/libxsmm-1.9/src/libxsmm_mhd.c:512:7:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ? fopen(filename, "rb")
data/libxsmm-1.9/src/libxsmm_mhd.c:631:7:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ? fopen(filename, "wb")
data/libxsmm-1.9/src/libxsmm_perf.c:88: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 file_name[LIBXSMM_MAX_PATH];
data/libxsmm-1.9/src/libxsmm_perf.c:90: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 file_path[LIBXSMM_MAX_PATH];
data/libxsmm-1.9/src/libxsmm_perf.c:94: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 date[64];
data/libxsmm-1.9/src/libxsmm_perf.c:142:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  fd = open(file_name, O_CREAT|O_TRUNC|O_RDWR, 0600);
data/libxsmm-1.9/src/libxsmm_perf.c:185:22:  [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).
  internal_perf_fp = fopen(file_name, "w+");
data/libxsmm-1.9/src/libxsmm_trace.c:273:30:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
          static LIBXSMM_TLS char buffer[sizeof(SYMBOL_INFO)+LIBXSMM_TRACE_SYMBOLSIZE];
data/libxsmm-1.9/src/libxsmm_trace.c:300:15:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
              sprintf(buffer, "%p", *symbol);
data/libxsmm-1.9/src/libxsmm_trace.c:404:15:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
              sprintf(value, "0x%llx", (unsigned long long)*symbol);
data/libxsmm-1.9/src/libxsmm_trans.c:72:82:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    libxsmm_trans_jit = ((0 == env_jit || 0 == *env_jit) ? (LIBXSMM_TRANS_JIT) : atoi(env_jit));
data/libxsmm-1.9/src/libxsmm_trans.c:77:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int m = ((0 == env_m || 0 == *env_m) ? 0 : atoi(env_m));
data/libxsmm-1.9/src/libxsmm_trans.c:78:54:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    const int n = ((0 == env_n || 0 == *env_n) ? 0 : atoi(env_n));
data/libxsmm-1.9/tests/math.c:39:39:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int exp_maxiter = (1 < argc ? atoi(argv[1]) : 20);
data/libxsmm-1.9/tests/mhd.c:38:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int bw = LIBXSMM_MAX(2 < argc ? atoi(argv[2]) : 64, 1);
data/libxsmm-1.9/tests/mhd.c:39:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  const int bh = LIBXSMM_MAX(3 < argc ? atoi(argv[3]) : 64, 1);
data/libxsmm-1.9/tests/mhd.c:42: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 data_filename[1024];
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:157:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ? (q << std::strlen(argv[2])) : ('-' == *argv[2]
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:158:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      ? (q >> std::strlen(argv[2])) : 0))) : 0;
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:160: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).
      ? ((CP2K_MIN_NLOCAL) << std::strlen(argv[3])) : ('-' == *argv[3]
data/libxsmm-1.9/samples/cp2k/cp2k.cpp:161: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).
      ? ((CP2K_MIN_NLOCAL) >> std::strlen(argv[3])) : -1))) : -1;
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:76:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:193:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:310:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/samples/edge/common_edge_proxy.h:358:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/samples/edge/edge_proxy_common.c:55:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/samples/pyfr/pyfr_driver_asp_reg.c:68:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/src/generator_spgemm_csc_reader.c:107:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/src/generator_spgemm_csr_reader.c:68:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ( strlen(l_line) == l_line_length ) {
data/libxsmm-1.9/src/libxsmm_main.c:316: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).
        assert(strlen(target_arch) < sizeof(title));
data/libxsmm-1.9/src/libxsmm_main.c:525:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        size_t u = strlen(env) - 1; /* 0 < strlen(env) */
data/libxsmm-1.9/src/libxsmm_main.c:586:18:  [1] (buffer) sscanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
        if (1 == sscanf(env, "%*[^,],%*[^,],%32s", buffer)) {
data/libxsmm-1.9/src/libxsmm_main.c:902:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  *length = (int)strlen(arch);
data/libxsmm-1.9/src/libxsmm_malloc.c:1082:49:  [1] (buffer) strlen:
  Does not handle 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 uintptr_t hash = libxsmm_hash(site, strlen(site), LIBXSMM_MALLOC_SEED);
data/libxsmm-1.9/src/libxsmm_mhd.c:184:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        && key_end == strlen("NDims"))
data/libxsmm-1.9/src/libxsmm_mhd.c:192:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
       && key_end == strlen("ElementNumberOfChannels"))
data/libxsmm-1.9/src/libxsmm_mhd.c:204:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        && key_end == strlen("ExtensionDataSize"))
data/libxsmm-1.9/src/libxsmm_mhd.c:215:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
       && key_end == strlen("ElementType"))
data/libxsmm-1.9/src/libxsmm_mhd.c:223:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
       && key_end == strlen("ElementDataFile"))
data/libxsmm-1.9/src/libxsmm_mhd.c:228:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            const size_t len = strlen(header_filename);
data/libxsmm-1.9/src/libxsmm_mhd.c:230:15:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
              strncpy(filename, header_filename, len);
data/libxsmm-1.9/src/libxsmm_mhd.c:241:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          const size_t len = strlen(value);
data/libxsmm-1.9/src/libxsmm_mhd.c:243:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(filename, value, len);
data/libxsmm-1.9/src/libxsmm_mhd.c:252:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
       && key_end == strlen("DimSize"))
data/libxsmm-1.9/src/libxsmm_mhd.c:280:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
       && key_end == strlen("BinaryData"))
data/libxsmm-1.9/src/libxsmm_mhd.c:288:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
       && key_end == strlen("CompressedData"))
data/libxsmm-1.9/src/libxsmm_mhd.c:295:87:  [1] (buffer) strlen:
  Does not handle 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 ((0 == strncmp("BinaryDataByteOrderMSB", buffer, key_end) && key_end == strlen("BinaryDataByteOrderMSB"))
data/libxsmm-1.9/src/libxsmm_mhd.c:296:87:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            || (0 == strncmp("ElementByteOrderMSB",    buffer, key_end) && key_end == strlen("ElementByteOrderMSB")))
data/libxsmm-1.9/src/libxsmm_mhd.c:326:45:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      const char* split = header_filename + strlen(header_filename) - 1;
data/libxsmm-1.9/src/libxsmm_mhd.c:329: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 len = strlen(filename), n = split - header_filename + 1;
data/libxsmm-1.9/src/libxsmm_perf.c:263:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    size_t name_len = strlen(name) + 1;
data/libxsmm-1.9/src/libxsmm_trace.c:352:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                     (sizeof(int) * 1) == read(fd, &check, sizeof(int))

ANALYSIS SUMMARY:

Hits = 638
Lines analyzed = 95528 in approximately 3.40 seconds (28075 lines/second)
Physical Source Lines of Code (SLOC) = 73287
Hits@level = [0] 1596 [1]  35 [2] 459 [3] 133 [4]  11 [5]   0
Hits@level+ = [0+] 2234 [1+] 638 [2+] 603 [3+] 144 [4+]  11 [5+]   0
Hits/KSLOC@level+ = [0+] 30.4829 [1+] 8.7055 [2+] 8.22793 [3+] 1.96488 [4+] 0.150095 [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.