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/tcc-0.9.27+git20200814.62c30a4a/arm-asm.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/arm-gen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/arm-link.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/arm64-gen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/arm64-link.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/c67-gen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/c67-link.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/coff.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/conftest.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/elf.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/examples/ex1.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/examples/ex2.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/examples/ex3.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/examples/ex4.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/examples/ex5.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/i386-asm.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/i386-asm.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/i386-gen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/i386-link.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/i386-tok.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/il-gen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/il-opcodes.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/include/float.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/include/stdalign.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/include/stdarg.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/include/stdbool.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/include/stddef.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/include/stdnoreturn.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/include/varargs.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/armeabi.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/armflush.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-dll.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-exe.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-log.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/dsohandle.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/libtcc1.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/lib/va_list.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/libtcc.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/riscv64-asm.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/riscv64-gen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/riscv64-link.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/stab.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tcc.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tcc.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tcctok.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/42test.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/abitest.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/asm-c-connect-1.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/asm-c-connect-2.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/bug.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/c2str.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/tcc_predefs.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/01.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/02.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/03.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/04.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/05.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/06.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/07.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/08.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/09.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/10.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/11.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/14.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/15.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/16.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/17.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/18.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/19.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/20.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/21.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/pp-counter.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/testfp.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/00_assignment.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/01_comment.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/02_printf.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/03_struct.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/04_for.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/05_array.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/06_case.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/07_function.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/08_while.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/09_do_while.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/100_c99array-decls.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/101_cleanup.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/102_alignas.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/103_implicit_memmove.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/104+_inline.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/104_inline.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/105_local_extern.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/106_pthread.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/107_stack_safe.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/108_constructor.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/109_float_struct_calling.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/10_pointer.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/110_average.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/111_conversion.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/113_btdll.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/114_bound_signal.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/115_bound_setjmp.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/116_bound_setjmp2.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/117_gcc_test.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/11_precedence.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/12_hashdefine.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/13_integer_literals.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/14_if.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/15_recursion.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/16_nesting.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/17_enum.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/18_include.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/18_include.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/19_pointer_arithmetic.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/20_pointer_comparison.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/21_char_array.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/22_floating_point.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/23_type_coercion.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/24_math_library.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/25_quicksort.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/26_character_constants.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/27_sizeof.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/28_strings.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/29_array_address.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/30_hanoi.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/31_args.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/32_led.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/33_ternary_op.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/34_array_assignment.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/35_sizeof.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/36_array_initialisers.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/37_sprintf.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/38_multiple_array_index.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/39_typedef.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/41_hashif.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/42_function_pointer.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/43_void_param.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/44_scoped_declarations.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/45_empty_for.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/46_grep.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/47_switch_return.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/48_nested_break.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/49_bracket_evaluation.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/50_logical_second_arg.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/51_static.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/52_unnamed_enum.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/54_goto.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/55_lshift_type.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/60_errors_and_warnings.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/61_integers.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/64_macro_nesting.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/67_macro_concat.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/70_floating_point_literals.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/71_macro_empty_arg.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/72_long_long_constant.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/75_array_in_struct_init.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/76_dollars_in_identifiers.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/77_push_pop_macro.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/78_vla_label.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/79_vla_continue.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/80_flexarray.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/81_types.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/82_attribs_position.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/83_utf8_in_identifiers.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/84_hex-float.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/85_asm-outside-function.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/86_memory-model.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/87_dead_code.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/88_codeopt.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/89_nocode_wanted.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/90_struct-init.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/91_ptr_longlong_arith32.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/92_enum_bitfield.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/93_integer_promotion.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/94_generic.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/95_bitfields.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/95_bitfields_ms.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/96_nodata_wanted.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/97_utf8_string_literal.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/98_al_ax_extend.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/99_fastcall.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c
Parsing failed to find end of parameter list; semicolon terminated it in ("sizeof( (struct {int i; int j;}){4,5} ) = %d\n",
	   sizeof( (struct {int i; int j;}){4,5} ));
    /* And as direct sizeof argument (as unary expression): */
    printf("sizeof (struct {short i; sho
Parsing failed to find end of parameter list; semicolon terminated it in ("sizeof (struct {short i; short j;}){4,5} = %d\n",
	   sizeof (struct {short i; short j;}){4,5} );

    /* sizeof(x && y) should be sizeof(int), even if constant
       evaluating is possible. */
   
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/examples/dll.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/examples/fib.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/examples/hello_dll.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/examples/hello_win.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/_mingw.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/assert.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/conio.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/ctype.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/dir.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/direct.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/dirent.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/dos.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/errno.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/excpt.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/fcntl.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/fenv.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/inttypes.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/iso646.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/limits.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/locale.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/malloc.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/math.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/mem.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/memory.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/conio_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/crtdbg_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/io_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/mbstring_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/search_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/stdio_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/stdlib_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/stralign_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/string_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/sys/timeb_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/tchar_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/time_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sec_api/wchar_s.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/setjmp.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/share.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/signal.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdint.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/fcntl.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/file.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/locking.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/stat.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/time.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/timeb.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/types.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/unistd.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/sys/utime.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tcc/tcc_libm.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/time.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/uchar.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/vadefs.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/values.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wctype.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/basetsd.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/basetyps.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/guiddef.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/poppack.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/pshpack1.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/pshpack2.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/pshpack4.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/pshpack8.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/qos.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/wincon.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/windef.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/windows.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winerror.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/wingdi.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winnls.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winnt.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winreg.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winuser.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winver.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/ws2ipdef.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/ws2tcpip.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/lib/crt1.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/lib/crt1w.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/lib/crtinit.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/lib/dllcrt1.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/lib/dllmain.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/lib/wincrt1.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/win32/lib/wincrt1w.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/x86_64-asm.h
Examining data/tcc-0.9.27+git20200814.62c30a4a/x86_64-gen.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/x86_64-link.c
Examining data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c

FINAL RESULTS:

data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:39:7:  [5] (buffer) gets:
  Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead.
char *gets(char *s);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:740:5:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
    chmod(pe->filename, 0777);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:306:15:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
  int __cdecl chmod (const char *, int);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:360:15:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
  int __cdecl chmod(const char *_Filename,int _AccessMode);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:199:17:  [5] (buffer) gets:
  Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead.
  char *__cdecl gets(char *_Buffer);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:199:9:  [5] (buffer) _getts:
  Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead.
#define _getts _getws
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:570:9:  [5] (buffer) _getts:
  Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead.
#define _getts gets
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:570:16:  [5] (buffer) gets:
  Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead.
#define _getts gets
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:44:49:  [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 dprintf(a...)         if (print_calls) fprintf(a)
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:1510:12:  [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).
    return strcpy (dest, src);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:1584:12:  [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).
    return strcat(r, s);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-dll.c:62:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(buf,
data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-log.c:32:15:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        ret = vfprintf(stderr, fmt, ap);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:265:5:  [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(ptr, str);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:401:5:  [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(ptr, str);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:501:5:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    vsnprintf(buf + len, buf_size - len, fmt, ap);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1232:9:  [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.
        snprintf(buf, sizeof(buf), fmt, paths[i], filename);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1731:5:  [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(f->name, filename);
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:285:13:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
            printf(version);
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:59:10:  [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 snprintf _snprintf
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:59:19:  [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 snprintf _snprintf
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:60:10:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
# define vsnprintf _vsnprintf
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:108:51:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
# define PRINTF_LIKE(x,y) __attribute__ ((format (printf, (x), (y))))
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:765:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(sname, "%s%d", get_tok_str(tok1, NULL), n);
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:767:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(sname, "%s", get_tok_str(tok1, NULL));
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:1147:13:  [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(op->constraint, astr.data);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:129:6:  [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(coff_sec->s_name, tcc_sect->name);	/* section name */
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:277:7:  [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(last_func_name, func_name);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:453:7:  [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(last_func_name, func_name);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:532: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(csym._n._n_name, name);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:542: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(pCoff_str_table, name);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:213:5:  [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(sec->name, name);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:734:9:  [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.
        snprintf(buf, sizeof(buf), REL_SECTION_FMT, s->name);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2435:17:  [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(ptr, elfint);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:3279:5:  [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(dllref->name, soname);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:920:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf(buf1, "_%s@%d", name, ref->f.func_args * PTR_SIZE);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:5976:17:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                sprintf (str, "!%s", name); /* illegal name */
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:8393:21:  [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(fn->filename, file->filename);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:44:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int printf(const char *format, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:45:5:  [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.
int fprintf(FILE *stream, const char *format, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:46:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
int sprintf(char *str, const char *format, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:47:5:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
int snprintf(char *str, size_t size, const  char  *format, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:50:5:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int vprintf(const char *format, va_list ap);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:51:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int vfprintf(FILE  *stream,  const  char *format, va_list ap);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:52:5:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
int vsprintf(char *str, const char *format, va_list ap);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:53:5:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
int vsnprintf(char *str, size_t size, const char  *format, va_list ap);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:60:7:  [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).
char *strcat(char *dest, const char *src);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:63:7:  [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).
char *strcpy(char *dest, const char *src);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:35:34:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define dprintf if (DEBUG_MACHO) printf
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:302:5:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    strcpy((char*)lc + lc->name, name);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:957:5:  [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(dllref->name, soname);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:400:10:  [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(buffer, s+1)[p-s-1] = 0;
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:402:27:  [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).
	        buffer[0] = '_', strcpy(buffer + 1, s);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:404:10:  [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(buffer, s + 6), a = 1;
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:406:10:  [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(buffer, s + 6), a = 1;
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1163:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(si->name, s->name);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1290:21:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                    sprintf(buffer, "IAT.%s", name);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1532:5:  [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(dllref->name, dllname);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:394:11:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    len = vsnprintf(NULL, 0, fmt, v);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:400:5:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    vsnprintf((char*)cstr->data + cstr->size, size, fmt, v);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1439:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(s->ppfp, &"\n[%s]\n"[!(s->dflag & 32)], p), fflush(s->ppfp);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1629:5:  [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(e->filename, filename);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:3880:2:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	fprintf(fp, &" %s"[s], get_tok_str(t, &cval)), s = 1;
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:365:15:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    int ret = vfprintf(stderr, fmt, ap);
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:892:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    TCCSYM(printf)
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:893:12:  [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.
    TCCSYM(fprintf)
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:137:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(tfile, "%s.tmp", argv[i_lib]);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:214:21:  [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(anames + strpos, strtab + sym->st_name);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:332:17:  [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(outfile, argv[i]);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:336:13:  [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(infile, a);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:351:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(outfile, tcc_basename(infile));
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:460:13:  [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(d, s0);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:479:9:  [4] (shell) execvp:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
#define execvp execvp_win32
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:488:5:  [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.
    snprintf(program, sizeof program,
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:500:9:  [4] (shell) execvp:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        execvp(argv[0] = program, argv);
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:213:37:  [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).
    printf("alloca : %s : %s\n", p, strcpy(alloca(strlen(demo)+1),demo) );
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:229:37:  [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).
    printf("alloca : %s : %s\n", p, strcpy(alloca(strlen(demo)),demo) );
data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c:117:9:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        fprintf(stderr, __FILE__ ": could not create tcc state\n");
data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c:132:9:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        fprintf(stderr, __FILE__ ": could not relocate tcc state.\n");
data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c:137:9:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        fprintf(stderr, __FILE__ ": could not get entry symbol.\n");
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/c2str.c:68:36:  [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).
                        q = strchr(strcpy(q, sr[f]), 0);
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/c2str.c:80:13:  [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(q, p);
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/tcc_predefs.h:80:19:  [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).
    __BOTH(char*, strcpy, (char *, const char *))
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/tcc_predefs.h:84:19:  [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).
    __BOTH(char*, strcat, (char*, const char*))
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:91:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define pf printf
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:108:28:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define dprintf(level,...) printf(__VA_ARGS__)
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:112:39:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define dprintf1(level, fmt, args...) printf(fmt, ## args)
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2107:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(fmt " " fmt " " fmt " " fmt " " fmt " " fmt " " fmt "\n",\
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2115:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(fmt "\n", ++a);\
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2116:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(fmt "\n", a++);\
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2117:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(fmt "\n", a);\
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2161:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf("float: " FLOAT_FMT, prefix ## retf(42.123456789));\
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2460:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(LONG_LONG_FORMAT " " LONG_LONG_FORMAT "\n", a, b);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2461:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(LONG_LONG_FORMAT " " LONG_LONG_FORMAT " " LONG_LONG_FORMAT " %Lx\n", 
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2467:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(LONG_LONG_FORMAT "\n", a);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2510:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(LONG_LONG_FORMAT "\n", 0x123456789LLU);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2610:17:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
                printf(LONG_LONG_FORMAT, ll);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2650:5:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vprintf(fmt, args);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2788:28:  [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).
    printf("alloca: %s\n", strcpy(alloca(strlen(demo)+1),demo) );
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:4027:15:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define pv(m) printf(sizeof (s->m + 0) == 8 ? "%016llx\n" : "%02x\n", s->m)
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/03_struct.c:1:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/101_cleanup.c:1:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/102_alignas.c:17:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/104+_inline.c:6:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/105_local_extern.c:1:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/107_stack_safe.c:1:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:127:5:  [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(&a[7], &a[0]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:129:5:  [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(&a[0], &b[7]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:131:5:  [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(&a[0], &a[1]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:133:5:  [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(&a[2], &a[0]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:151: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(&a[7], &a[0]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:153: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(&a[0], &b[3]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:155: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(&a[0], &a[4]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:157: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(&a[3], &a[0]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/117_gcc_test.c:154:12:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  tst_adr(&sprintf);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/11_precedence.c:2:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/33_ternary_op.c:2:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/42_function_pointer.c:13:49:  [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.
int (*fprintfptr)(FILE *, const char *, ...) = &fprintf;
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/60_errors_and_warnings.c:253:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/60_errors_and_warnings.c:272:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/60_errors_and_warnings.c:333:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/82_attribs_position.c:33:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf (const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/84_hex-float.c:1:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char *format, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/85_asm-outside-function.c:7:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf (const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/87_dead_code.c:4:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf (const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/88_codeopt.c:3:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf (const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/89_nocode_wanted.c:1:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char *format, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/91_ptr_longlong_arith32.c:1:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int printf(const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/92_enum_bitfield.c:33:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
extern int printf(const char *, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/93_integer_promotion.c:3:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int printf(const char*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/95_bitfields.c:111:1:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
printf("\n\n" + 2*top);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/95_bitfields.c:197:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(sizeof (s->m + 0) == 8 ? " %016llx" : " %02x", s->m)
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/95_bitfields.c:201:9:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        printf("\n---- TEST %d%s%s%s ----\n" + top, \
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:304:17:  [4] (tmpfile) mktemp:
  Temporary file race condition (CWE-377).
  char *__cdecl mktemp(char *);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:359:15:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  int __cdecl access(const char *_Filename,int _AccessMode);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:371:17:  [4] (tmpfile) mktemp:
  Temporary file race condition (CWE-377).
  char *__cdecl mktemp(char *_TemplateName);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:391:7:  [4] (misc) getlogin:
  It's often easy to fool getlogin. Sometimes it does not work at all,
  because some program messed up the utmp file. Often, it gives only the
  first 8 characters of the login name. The user currently logged in on the
  controlling tty of our program need not be the user who started it. Avoid
  getlogin() for security-related purposes (CWE-807). Use getpwuid(geteuid())
  and extract the desired information instead.
char *getlogin(void);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:404:9:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
#define access(__f,__m)  __mingw_access (__f, __m)
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:69:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  int __cdecl system(const char *_Command);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:136:15:  [4] (shell) execl:
  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.
  int __cdecl execl(const char *_Filename,const char *_ArgList,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:137:15:  [4] (shell) execle:
  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.
  int __cdecl execle(const char *_Filename,const char *_ArgList,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:138:15:  [4] (shell) execlp:
  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.
  int __cdecl execlp(const char *_Filename,const char *_ArgList,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:141:22:  [4] (shell) execl:
  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.
    intptr_t __cdecl execl(const char *_Filename,const char *_ArgList,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:142:20:  [4] (shell) execle:
  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.
  intptr_t __cdecl execle(const char *_Filename,const char *_ArgList,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:143:20:  [4] (shell) execlp:
  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.
  intptr_t __cdecl execlp(const char *_Filename,const char *_ArgList,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:156:15:  [4] (shell) execv:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  int __cdecl execv(const char *_Filename,const char *const _ArgList[]);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:158:15:  [4] (shell) execvp:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  int __cdecl execvp(const char *_Filename,const char *const _ArgList[]);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:161:20:  [4] (shell) execv:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  intptr_t __cdecl execv(const char *_Filename,const char *const _ArgList[]);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/process.h:163:20:  [4] (shell) execvp:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  intptr_t __cdecl execvp(const char *_Filename,const char *const _ArgList[]);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:181:15:  [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.
  int __cdecl fprintf(FILE *_File,const char *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:187:15:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl fscanf(FILE *_File,const char *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:207:39:  [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.
#if !defined(NO_OLDNAMES) && !defined(popen)
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:208:9:  [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.
#define popen   _popen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:211:15:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl printf(const char *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:227:15:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl scanf(const char *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:234:15:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl sscanf(const char *_Src,const char *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:239:15:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl vfprintf(FILE *_File,const char *_Format,va_list _ArgList);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:240:15:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl vprintf(const char *_Format,va_list _ArgList);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:244:9:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
# undef vsnprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:245:9:  [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.
# undef snprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:252:15:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  int __cdecl vsnprintf(char *_DstBuf,size_t _MaxCount,const char *_Format,va_list _ArgList);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:253:23:  [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.
  _CRTIMP int __cdecl _snprintf(char *_Dest,size_t _Count,const char *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:255:15:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
  int __cdecl sprintf(char *_Dest,const char *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:256:15:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
  int __cdecl vsprintf(char *_Dest,const char *_Format,va_list _Args);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:258:15:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  int __cdecl snprintf(char* s, size_t n, const char*  format, ...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:259:28:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  __CRT_INLINE int __cdecl vsnprintf (char* s, size_t n, const char* format,va_list arg) {
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:262:15:  [4] (buffer) vscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vscanf(const char * Format, va_list argp);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:263:15:  [4] (buffer) vfscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vfscanf (FILE * fp, const char * Format,va_list argp);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:264:15:  [4] (buffer) vsscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vsscanf (const char * _Str,const char * Format,va_list argp);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:272:10:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
# define vsnprintf __mingw_vsnprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:274:10:  [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.
# ifndef snprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:275:10:  [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 snprintf __mingw_snprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:306:15:  [4] (format) fwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl fwprintf(FILE *_File,const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:307:15:  [4] (format) wprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl wprintf(const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:309:15:  [4] (format) vfwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl vfwprintf(FILE *_File,const wchar_t *_Format,va_list _ArgList);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:310:15:  [4] (format) vwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl vwprintf(const wchar_t *_Format,va_list _ArgList);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:311:23:  [4] (format) swprintf:
  Potential format string problem (CWE-134). Make format string constant.
  _CRTIMP int __cdecl swprintf(wchar_t*, const wchar_t*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:312:23:  [4] (format) vswprintf:
  Potential format string problem (CWE-134). Make format string constant.
  _CRTIMP int __cdecl vswprintf(wchar_t*, const wchar_t*,va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:320:15:  [4] (buffer) vwscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vwscanf (const wchar_t *, va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:321:15:  [4] (buffer) vfwscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vfwscanf (FILE *,const wchar_t *,va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:322:15:  [4] (buffer) vswscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vswscanf (const wchar_t *,const wchar_t *,va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:333:9:  [4] (buffer) swprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define swprintf _swprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:334:9:  [4] (buffer) vswprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define vswprintf _vswprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:342:15:  [4] (buffer) fwscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl fwscanf(FILE *_File,const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:345:15:  [4] (buffer) wscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl wscanf(const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:391:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  int __cdecl system(const char *_Command);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:45:17:  [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).
  char *__cdecl strcpy(char *_Dest,const char *_Source);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:46:17:  [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).
  char *__cdecl strcat(char *_Dest,const char *_Source);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:106:20:  [4] (buffer) wcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
  wchar_t *__cdecl wcscat(wchar_t *_Dest,const wchar_t *_Source);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:109:20:  [4] (buffer) wcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
  wchar_t *__cdecl wcscpy(wchar_t *_Dest,const wchar_t *_Source);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:19:9:  [4] (buffer) _ftcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define _ftcscat _tcscat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:19:18:  [4] (buffer) _tcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define _ftcscat _tcscat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:21:9:  [4] (buffer) _ftcscpy:
  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).
#define _ftcscpy _tcscpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:21:18:  [4] (buffer) _tcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
#define _ftcscpy _tcscpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:68:17:  [4] (buffer) _tccpy:
  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).
#define _ftccpy _tccpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:125:18:  [4] (format) wprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _tprintf wprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:137:9:  [4] (format) _ftprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _ftprintf fwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:137:19:  [4] (format) fwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _ftprintf fwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:141:9:  [4] (buffer) _stprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _stprintf swprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:141:19:  [4] (buffer) swprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _stprintf swprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:149:9:  [4] (format) _sntprintf:
  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 _sntprintf _snwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:151:9:  [4] (format) _vtprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vtprintf vwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:151:19:  [4] (format) vwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vtprintf vwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:155:9:  [4] (format) _vftprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vftprintf vfwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:155:20:  [4] (format) vfwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vftprintf vfwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:159:9:  [4] (buffer) _vstprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _vstprintf vswprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:159:20:  [4] (buffer) vswprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _vstprintf vswprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:167:9:  [4] (format) _vsntprintf:
  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 _vsntprintf _vsnwprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:170:9:  [4] (buffer) _tscanf:
  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.
#define _tscanf wscanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:170:17:  [4] (buffer) wscanf:
  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.
#define _tscanf wscanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:174:9:  [4] (buffer) _ftscanf:
  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.
#define _ftscanf fwscanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:174:18:  [4] (buffer) fwscanf:
  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.
#define _ftscanf fwscanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:241:9:  [4] (buffer) _tcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define _tcscat wcscat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:241:17:  [4] (buffer) wcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define _tcscat wcscat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:243:9:  [4] (buffer) _tcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
#define _tcscpy wcscpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:243:17:  [4] (buffer) wcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
#define _tcscpy wcscpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:412:9:  [4] (buffer) _tccpy:
  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).
#define _tccpy(_pc1,_cpc2) ((*(_pc1) = *(_cpc2)))
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:497:18:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _tprintf printf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:509:9:  [4] (format) _ftprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _ftprintf fprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:509:19:  [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 _ftprintf fprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:513:9:  [4] (buffer) _stprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _stprintf sprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:513:19:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _stprintf sprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:521:9:  [4] (format) _sntprintf:
  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 _sntprintf _snprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:521:20:  [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 _sntprintf _snprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:523:9:  [4] (format) _vtprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vtprintf vprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:523:19:  [4] (format) vprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vtprintf vprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:527:9:  [4] (format) _vftprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vftprintf vfprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:527:20:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define _vftprintf vfprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:531:9:  [4] (buffer) _vstprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _vstprintf vsprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:531:20:  [4] (buffer) vsprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define _vstprintf vsprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:539:9:  [4] (format) _vsntprintf:
  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 _vsntprintf _vsnprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:542:9:  [4] (buffer) _tscanf:
  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.
#define _tscanf scanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:542:17:  [4] (buffer) scanf:
  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.
#define _tscanf scanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:546:9:  [4] (buffer) _ftscanf:
  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.
#define _ftscanf fscanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:546:18:  [4] (buffer) fscanf:
  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.
#define _ftscanf fscanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:548:18:  [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.
#define _stscanf sscanf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:613:9:  [4] (buffer) _tcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define _tcscat strcat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:613:17:  [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).
#define _tcscat strcat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:614:9:  [4] (buffer) _tcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
#define _tcscpy strcpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:614:17:  [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).
#define _tcscpy strcpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:643:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
#define _tsystem system
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:704:18:  [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 _taccess access
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:815:19:  [4] (buffer) _mbsncpy:
  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).
#define _tcsnccpy _mbsncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:834:9:  [4] (buffer) _tccpy:
  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).
#define _tccpy _mbccpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:834:16:  [4] (buffer) _mbccpy:
  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).
#define _tccpy _mbccpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:896:24:  [4] (buffer) _tccpy:
  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).
  _CRTIMP void __cdecl _tccpy(char *_DstCh,const char *_SrcCh);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:1031:9:  [4] (buffer) _tccpy:
  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).
#define _tccpy(_pc1,_cpc2) (*(_pc1) = *(_cpc2))
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:575:15:  [4] (format) fwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl fwprintf(FILE *_File,const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:576:15:  [4] (format) wprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl wprintf(const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:578:15:  [4] (format) vfwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl vfwprintf(FILE *_File,const wchar_t *_Format,va_list _ArgList);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:579:15:  [4] (format) vwprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  int __cdecl vwprintf(const wchar_t *_Format,va_list _ArgList);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:580:23:  [4] (format) swprintf:
  Potential format string problem (CWE-134). Make format string constant.
  _CRTIMP int __cdecl swprintf(wchar_t*, const wchar_t*, ...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:581:23:  [4] (format) vswprintf:
  Potential format string problem (CWE-134). Make format string constant.
  _CRTIMP int __cdecl vswprintf(wchar_t*, const wchar_t*,va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:589:15:  [4] (buffer) vwscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vwscanf (const wchar_t *, va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:590:15:  [4] (buffer) vfwscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vfwscanf (FILE *,const wchar_t *,va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:591:15:  [4] (buffer) vswscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl vswscanf (const wchar_t *,const wchar_t *,va_list);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:628:9:  [4] (buffer) swprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define swprintf _swprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:629:9:  [4] (buffer) vswprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
#define vswprintf _vswprintf
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:638:15:  [4] (buffer) fwscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl fwscanf(FILE *_File,const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:644:15:  [4] (buffer) wscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  int __cdecl wscanf(const wchar_t *_Format,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:739:20:  [4] (buffer) wcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
  wchar_t *__cdecl wcscat(wchar_t *_Dest,const wchar_t *_Source);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:742:20:  [4] (buffer) wcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
  wchar_t *__cdecl wcscpy(wchar_t *_Dest,const wchar_t *_Source);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1414:26:  [4] (shell) WinExec:
  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.
  WINBASEAPI UINT WINAPI WinExec(LPCSTR lpCmdLine,UINT uCmdShow);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1564:18:  [4] (buffer) lstrcpynW:
  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).
#define lstrcpyn lstrcpynW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1565:9:  [4] (buffer) lstrcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
#define lstrcpy lstrcpyW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1565:17:  [4] (buffer) lstrcpyW:
  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).
#define lstrcpy lstrcpyW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1566:9:  [4] (buffer) lstrcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define lstrcat lstrcatW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1566:17:  [4] (buffer) lstrcatW:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define lstrcat lstrcatW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1572:18:  [4] (buffer) lstrcpynA:
  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).
#define lstrcpyn lstrcpynA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1573:9:  [4] (buffer) lstrcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
#define lstrcpy lstrcpyA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1573:17:  [4] (buffer) lstrcpyA:
  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).
#define lstrcpy lstrcpyA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1574:9:  [4] (buffer) lstrcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define lstrcat lstrcatA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1574:17:  [4] (buffer) lstrcatA:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
#define lstrcat lstrcatA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1587:27:  [4] (buffer) lstrcpynA:
  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).
  WINBASEAPI LPSTR WINAPI lstrcpynA(LPSTR lpString1,LPCSTR lpString2,int iMaxLength);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1588:28:  [4] (buffer) lstrcpynW:
  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).
  WINBASEAPI LPWSTR WINAPI lstrcpynW(LPWSTR lpString1,LPCWSTR lpString2,int iMaxLength);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1589:27:  [4] (buffer) lstrcpyA:
  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).
  WINBASEAPI LPSTR WINAPI lstrcpyA(LPSTR lpString1,LPCSTR lpString2);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1590:28:  [4] (buffer) lstrcpyW:
  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).
  WINBASEAPI LPWSTR WINAPI lstrcpyW(LPWSTR lpString1,LPCWSTR lpString2);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1591:27:  [4] (buffer) lstrcatA:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
  WINBASEAPI LPSTR WINAPI lstrcatA(LPSTR lpString1,LPCSTR lpString2);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1592:28:  [4] (buffer) lstrcatW:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
  WINBASEAPI LPWSTR WINAPI lstrcatW(LPWSTR lpString1,LPCWSTR lpString2);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:2429:28:  [4] (access) ImpersonateNamedPipeClient:
  If this call fails, the program could fail to drop heightened privileges
  (CWE-250). Make sure the return value is checked, and do not continue if a
  failure is reported.
  WINADVAPI WINBOOL WINAPI ImpersonateNamedPipeClient(HANDLE hNamedPipe);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:2432:28:  [4] (access) SetThreadToken:
  If this call fails, the program could fail to drop heightened privileges
  (CWE-250). Make sure the return value is checked, and do not continue if a
  failure is reported.
  WINADVAPI WINBOOL WINAPI SetThreadToken (PHANDLE Thread,HANDLE Token);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:2614:28:  [4] (access) ImpersonateLoggedOnUser:
  If this call fails, the program could fail to drop heightened privileges
  (CWE-250). Make sure the return value is checked, and do not continue if a
  failure is reported.
  WINADVAPI WINBOOL WINAPI ImpersonateLoggedOnUser(HANDLE hToken);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:82:32:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
#define INIT_SEM()             InitializeCriticalSection(&bounds_sem)
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:84:32:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
#define WAIT_SEM()             EnterCriticalSection(&bounds_sem)
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:807:26:  [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.
    print_warn_ptr_add = getenv ("TCC_BOUNDS_WARN_POINTER_ADD") != NULL;
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:808:19:  [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.
    print_calls = getenv ("TCC_BOUNDS_PRINT_CALLS") != NULL;
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:809:18:  [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.
    print_heap = getenv ("TCC_BOUNDS_PRINT_HEAP") != NULL;
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:810:23:  [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.
    print_statistic = getenv ("TCC_BOUNDS_PRINT_STATISTIC") != NULL;
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:811:19:  [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.
    never_fatal = getenv ("TCC_BOUNDS_NEVER_FATAL") != NULL;
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:130:9:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
        InitializeCriticalSection(&tcc_cr), tcc_sem_init = 1;
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:131:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&tcc_cr);
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:207: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.
    path = getenv("C_INCLUDE_PATH");
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:211: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.
    path = getenv("CPATH");
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:215: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.
    path = getenv("LIBRARY_PATH");
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2428: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 *elfint = getenv("LD_SO");
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:860:46:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
                            dllref->handle = LoadLibrary(dllref->name);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:237:17:  [3] (tmpfile) tmpnam:
  Temporary file race condition (CWE-377).
  char *__cdecl tmpnam(char *_Buffer);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:409:17:  [3] (tmpfile) tempnam:
  Temporary file race condition (CWE-377).
  char *__cdecl tempnam(const char *_Directory,const char *_FilePrefix);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:351: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.
  char *__cdecl getenv(const char *_VarName);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:377:16:  [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.
  void __cdecl srand(unsigned int _Seed);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:665:18:  [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.
#define _tgetenv getenv
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:684:18:  [3] (tmpfile) tmpnam:
  Temporary file race condition (CWE-377).
#define _ttmpnam tmpnam
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1330:26:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
  WINBASEAPI VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1331:26:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
  WINBASEAPI VOID WINAPI EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1806:9:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
#define LoadLibrary LoadLibraryW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1807:9:  [3] (misc) LoadLibraryEx:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
#define LoadLibraryEx LoadLibraryExW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1816:9:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
#define LoadLibrary LoadLibraryA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1817:9:  [3] (misc) LoadLibraryEx:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
#define LoadLibraryEx LoadLibraryExA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1880:9:  [3] (shell) CreateProcess:
  This causes a new process to execute and is difficult to use safely
  (CWE-78). Specify the application path in the first argument, NOT as part
  of the second, or embedded spaces could allow an attacker to force a
  different program to run.
#define CreateProcess CreateProcessW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1894:9:  [3] (shell) CreateProcess:
  This causes a new process to execute and is difficult to use safely
  (CWE-78). Specify the application path in the first argument, NOT as part
  of the second, or embedded spaces could allow an attacker to force a
  different program to run.
#define CreateProcess CreateProcessA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1972:9:  [3] (tmpfile) GetTempFileName:
  Temporary file race condition in certain cases (e.g., if run as SYSTEM in
  many versions of Windows) (CWE-377).
#define GetTempFileName GetTempFileNameW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:2008:9:  [3] (tmpfile) GetTempFileName:
  Temporary file race condition in certain cases (e.g., if run as SYSTEM in
  many versions of Windows) (CWE-377).
#define GetTempFileName GetTempFileNameA
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:2487:28:  [3] (misc) AddAccessAllowedAce:
  This doesn't set the inheritance bits in the access control entry (ACE)
  header (CWE-732). Make sure that you set inheritance by hand if you wish it
  to inherit.
  WINADVAPI WINBOOL WINAPI AddAccessAllowedAce(PACL pAcl,DWORD dwAceRevision,DWORD AccessMask,PSID pSid);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:2603:9:  [3] (shell) CreateProcessAsUser:
  This causes a new process to execute and is difficult to use safely
  (CWE-78). Especially watch out for embedded spaces.
#define CreateProcessAsUser CreateProcessAsUserW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:2607:9:  [3] (shell) CreateProcessAsUser:
  This causes a new process to execute and is difficult to use safely
  (CWE-78). Especially watch out for embedded spaces.
#define CreateProcessAsUser CreateProcessAsUserA
data/tcc-0.9.27+git20200814.62c30a4a/arm-gen.c:881:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  signed char avail[3]; /* 3 holes max with only float and double alignments */
data/tcc-0.9.27+git20200814.62c30a4a/arm-link.c:249:21:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                    char *name, buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/c67-gen.c:374:6:  [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).
	f = fopen("TCC67_out.txt", "wt");
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:119: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    ar_name[16];    /* file member name - `/' terminated */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:120: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    ar_date[12];    /* file member date - decimal */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:121: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    ar_uid[6];      /* file member user id - decimal */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:122: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    ar_gid[6];      /* file member group id - decimal */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:123: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    ar_mode[8];     /* file member mode - octal */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:124: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    ar_size[10];    /* file member size - decimal */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:125: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    ar_fmag[2];     /* ARFMAG - string to end header */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:133: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            s_name[8];      /* section name */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:284:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char            _n_name[SYMNMLEN];      /* old COFF version */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:290:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char            *_n_nptr[2];    /* allows for overlaying */
data/tcc-0.9.27+git20200814.62c30a4a/coff.h:407: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    x_fname[FILNMLEN];
data/tcc-0.9.27+git20200814.62c30a4a/elf.h:79:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char	e_ident[EI_NIDENT];	/* Magic number and other info */
data/tcc-0.9.27+git20200814.62c30a4a/elf.h:97:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char	e_ident[EI_NIDENT];	/* Magic number and other info */
data/tcc-0.9.27+git20200814.62c30a4a/examples/ex2.c:78: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).
    result = atoi(argv[p]);
data/tcc-0.9.27+git20200814.62c30a4a/examples/ex2.c:82: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).
        tab[nb_num++] = atoi(argv[i]);
data/tcc-0.9.27+git20200814.62c30a4a/examples/ex3.c:20: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).
    n = atoi(argv[1]);
data/tcc-0.9.27+git20200814.62c30a4a/i386-asm.c:1476: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 buf[64];
data/tcc-0.9.27+git20200814.62c30a4a/il-gen.c:159: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 buf1[256];
data/tcc-0.9.27+git20200814.62c30a4a/il-gen.c:404: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/il-gen.c:424: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:144:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static unsigned char __attribute__((aligned(16))) initial_pool[256];
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:289:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char exec[100];
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:860: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 line[1000];
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:863:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        fp = fopen ("/proc/self/comm", "r");
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:874:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        fp = fopen ("/proc/self/maps", "r");
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:1385:12:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    return memcpy(dest, src, n);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:1623: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 (new, s, p - s);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-dll.c:61:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf[100];
data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-exe.c:22: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(rc, p, offsetof(rt_context, next));
data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-exe.c:40: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(buf, s, l);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:21:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
void *memcpy(void*,void*,__SIZE_TYPE__);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:42: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:50: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:64: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:72: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(f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:98: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(&x, &f, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:182: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:382: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(&a, &f, 4);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:398: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(&fx, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:407: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(&a, &f, 8);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:422: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(&fx, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:453: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(&fx, &x, 4);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:485: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(&fx, &x, 8);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:566: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:591: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:610: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:630: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:637: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(&a, &fa, 16);
data/tcc-0.9.27+git20200814.62c30a4a/lib/lib-arm64.c:638: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(&b, &fb, 16);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:92: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 path[1024], *p;
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:104: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 buf[1000];
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:196: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(out, in, num);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:288: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 file_name[MEM_DEBUG_FILE_LEN + 1];
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:530: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 buf[2048];
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:681:14:  [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(filename, O_RDONLY | O_BINARY);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:717:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(file->buffer, str, len);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:815: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]; int a,b,c;
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:817:9:  [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, "%d", a*10000 + b*100 + c);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1228: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1305: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 buf[256];
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1778: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).
    fd = open(filename, O_RDONLY | O_BINARY);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1891: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).
            s->rt_num_callers = atoi(optarg);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1921: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).
                s->g_debug |= atoi(optarg);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1991: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).
                if (x = atoi(optarg), x != 32 && x != 64)
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:2023: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).
            s->Pflag = atoi(optarg) + 1;
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:2050: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).
            s->optimize = atoi(optarg);
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:223: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:233:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(ext, ".dll");
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:236:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(ext, ".exe");
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:240:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(ext, ".o");
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:242:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(buf, "a.out");
data/tcc-0.9.27+git20200814.62c30a4a/tcc.c:307:24:  [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).
                ppfp = fopen(s->outfile, "w");
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:433: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 str[1];
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:562:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[1];           /* section name */
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:568:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[1];
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:618: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 filename[1024];    /* filename */
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:620:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char unget[4];
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:621:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buffer[1]; /* extra size for CH_EOB char */
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:655: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 filename[1];
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:664: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 filename[1]; /* path specified in #include */
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:680: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 asm_str[16]; /* computed asm string for operand */
data/tcc-0.9.27+git20200814.62c30a4a/tcc.h:943:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[1];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:29: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 buf[64];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:60: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 newname[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:114: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 buf[100];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:756:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char sname[64];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:773:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char filename[512];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:791:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char ident[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:858:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char sname[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:1026: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(file->buffer, str, len);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:34:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char Func[MAX_FUNCS][MAX_FUNC_NAME_LENGTH];
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:35:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char AssociatedFile[MAX_FUNCS][MAX_FUNC_NAME_LENGTH];
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:197:6:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    char func_name[MAX_FUNC_NAME_LENGTH],
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:200:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    const char *incl_files[INCLUDE_STACK_SIZE];
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:256:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			    memcpy(func_name, str, len);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:257:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			    memcpy(Func[nFuncs], str, len);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:382:6:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    char func_name[128], last_func_name[128];
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:384:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    const char *incl_files[INCLUDE_STACK_SIZE];
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:430:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			    memcpy(func_name, str, len);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:588:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
		strcpy(csym._n._n_name, ".bf");
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:608:3:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
		strcpy(csym._n._n_name, ".ef");
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:870: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 name2[9];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:490: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 buf[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:727: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 buf[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:905: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(s->data, new_syms, nb_syms * sizeof(ElfW(Sym)));
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:1112: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 plt_name[100];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:1183: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(plt_name, name, len);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:1184:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(plt_name + len, "@plt");
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:1308: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:1325: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:1477: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2291: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).
    fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, mode);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2389: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(ptr, arm_attr, sizeof(arm_attr));
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2930: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 ar_name[16];           /* name of this member */
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2931: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 ar_date[12];           /* file mtime */
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2932: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 ar_uid[6];             /* owner uid; printed as decimal */
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2933: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 ar_gid[6];             /* owner gid; printed as decimal */
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2934: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 ar_mode[8];            /* file mode, printed as octal   */
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2935: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 ar_size[10];           /* file size, printed as decimal */
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2936: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 ar_fmag[2];            /* should contain ARFMAG */
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.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 filename[1024], libname[1024];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:3555: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 cmd[64];
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:3556: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 filename[1024];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:359: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(p, &d, sizeof(double));
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:403: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 buf[512];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:895: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 buf1[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:2830: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 buf1[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:2920:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf2[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:2961: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 buf1[256], buf2[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:2969: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 buf1[256], buf2[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:5526:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ptr, funcname, len);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:5930:6:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    char buf[60];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:5973:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char str[100];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:6341:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static unsigned char prec[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:7471:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(dst, src, elem_size);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:7607:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                    memcpy(ptr, &vtop->c.ld, 10);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:7767:23:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                      memcpy(sec->data + c, initstr.data, nb);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:8306:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                char buf[500];
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:18:5:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if 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 atoi(const char *nptr);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:29: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).
FILE *fopen(const char *path, const char *mode);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:64:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
void *memcpy(void *dest, const void *src, size_t n);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:96: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            segname[16];    /* segment name */
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:108: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            sectname[16];   /* name of this section */
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:109: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            segname[16];    /* segment this section goes in */
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:585:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(str, "/usr/lib/dyld");
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:797: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).
    fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, mode);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:850:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[sizeof(struct mach_header_64)];
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:922:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            int subfd = open(name, O_RDONLY | O_BINARY);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:321:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[32];
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:385: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 buffer[200];
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:490: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 buf[256];
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:615:13:  [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).
    pf.op = fopen(pe->filename, "wb");
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:685: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(psh->Name, sh_name, umin(strlen(sh_name), sizeof psh->Name));
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:914: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 buf[260];
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:969:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(tcc_fileextension(buf), ".def");
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:970:10:  [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).
    op = fopen(buf, "wb");
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1272:21:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                    char buffer[100];
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1469:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    f = fopen(fname, "w");
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1565: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).
    fd = open(filename, O_RDONLY | O_BINARY);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1705: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 line[400], dllname[80], *p, *x;
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1778: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 buf[10];
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1817: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(p, uw_info, sizeof uw_info);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:43:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char token_buf[STRING_MAX_SIZE + 1];
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:47:17:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static unsigned char isidnum_table[256 - CH_EOF];
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:159: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    file_name[TAL_DEBUG_FILE_LEN + 1];
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:264:24:  [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 (p) memcpy(ret, p, header->size);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:283:20:  [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 (p) memcpy(ret, p, header->size);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:304:16:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        if (p) memcpy(ret, p, header->size);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:453: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(ts->str, str, len);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:472:41:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        h = TOK_HASH_FUNC(h, ((unsigned char *)str)[i]);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:506:9:  [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(p, "%u", (unsigned)cv->i);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:508:9:  [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(p, "%llu", (unsigned long long)cv->i);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:560:16:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        return strcpy(p, "...");
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:562:16:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        return strcpy(p, "<<=");
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:564:16:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        return strcpy(p, ">>=");
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:566:16:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        return strcpy(p, "<eof>");
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:581:13:  [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(cstr_buf.data, "<%02x>", v);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:591:13:  [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(p, "L.%u", v - SYM_FIRST_ANOM);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1078: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(str, s->str, s->len * sizeof(int));
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1180:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&str[len + 1], cv->str.data, cv->str.size);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1755: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 buf[1024], *q;
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1845:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buf1[sizeof file->filename];
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:2242: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(p, s, len);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:3133:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static char const ab_month_name[12][4] =
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:3153: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(file->buffer, cstr.data, cstr.size);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:3308: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 buf[32];
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:3768: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(file->buffer, cstr.data, cstr.size);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:3993: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 white[400];
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:87:14:  [2] (tmpfile) mkstemp:
  Potential for temporary file vulnerability in some circumstances. Some
  older Unix-like systems create temp files with permission to write by all
  by default, so be sure to set the umask to override this. Also, some older
  Unix systems might fail to use O_EXCL when opening the file, so make sure
  that O_EXCL is used by the library (CWE-377).
    int fd = mkstemp(tmpfname);
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:296:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ptr, s->data, length);
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:387: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 func_name[128];
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:389:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    const char *incl_files[INCLUDE_STACK_SIZE];
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:531: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 skip[100];
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:548: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(skip, a, b - a), skip[b - a] = 0;
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:729:25:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 unsigned char stack[SIGSTKSZ] __attribute__((aligned(16)));
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:894:12:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    TCCSYM(fopen)
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:37: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 ar_name[16];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:38: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 ar_date[12];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:39: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 ar_uid[6];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:40: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 ar_gid[6];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:41: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 ar_mode[8];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:42: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 ar_size[10];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:43: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 ar_fmag[2];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:101:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char tfile[260], stmp[20];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:131:15:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if ((fh = fopen(argv[i_lib], "wb")) == NULL)
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:138:15:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if ((fo = fopen(tfile, "wb+")) == NULL)
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:146: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(&arhdro.ar_mode, "100666", 6);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:155:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        if ((fi = fopen(argv[i_obj], "rb")) == NULL) {
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:233: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(arhdro.ar_name, name, istrlen);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:235:9:  [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(stmp, "%-10d", fsize);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:236: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(&arhdro.ar_size, stmp, 10);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:249:5:  [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(stmp, "%-10d", (int)(strpos + (funccnt+1) * sizeof(int)));
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:250: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(&arhdr.ar_size, stmp, 10);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:307: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 infile[260];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:308: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 outfile[260];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:315: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 path[260];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:355:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(q, ".def");
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:377:10:  [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).
    op = fopen(outfile, "wb");
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:454:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(d, s0, sl = s - s0), d += sl;
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:455:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(d, r, rl), d += rl;
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:484: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 program[4096];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:521: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 buf[1024];
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:535:14:  [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).
    depout = fopen(filename, "w");
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:11:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char tab3[256];
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:123: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 tab[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:134: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 tab[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:135: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 tab1[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:138: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(tab, tab1, 10);
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:146: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 tab[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:166: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 tab[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:209:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(p,"12345678901234");
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:225:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(p,"12345678901234");
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:291: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).
        index = atoi(argv[1]) - 1;
data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c:192: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 *argv[30], b[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c:195:5:  [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(b, "%d", F(n));
data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c:297: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).
    printf(" %d", fib(atoi(argv[1]), 2));
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/c2str.c:19: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[1000], *p, l2[1000], *q;
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/c2str.c:26:10:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp = fopen(argv[1], "rb");
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/c2str.c:27:10:  [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).
    op = fopen(argv[2], "wb");
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/tcc_predefs.h:75:19:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    __BOTH(void*, memcpy, (void *, const void*, __SIZE_TYPE__))
data/tcc-0.9.27+git20200814.62c30a4a/tests/pp/02.c:18:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char c[2][6] = { str(hello), str() };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:352:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char str_x[2] = { "xy" "z"[2], 0 };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:355:25:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct str_SS {unsigned char a[3], b; };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:362: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 a3[2] = { "p" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:363: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 a4[2] = { "ab" "c"[2], 0 };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:370: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 str_x[2] = { "xy" "z"[2], 0 };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:667: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 str[3];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.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 a[50];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:952: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 a[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:957: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 b[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:1574: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 tab[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:1670:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char sinit14[10] = { "abc" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:1752: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 linit14[10] = "abc";
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2784:5:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
    strcpy(p,"123456789012345");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2794: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 ca[10], *cp = ca-1;
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:3517: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 buf[128];
data/tcc-0.9.27+git20200814.62c30a4a/tests/testfp.c:33: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(&f, &x, 4);
data/tcc-0.9.27+git20200814.62c30a4a/tests/testfp.c:40: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(&f, &x, 8);
data/tcc-0.9.27+git20200814.62c30a4a/tests/testfp.c:47: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(&f, &x, 16);
data/tcc-0.9.27+git20200814.62c30a4a/tests/testfp.c:54: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(&x, &f, 4);
data/tcc-0.9.27+git20200814.62c30a4a/tests/testfp.c:61: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(&x, &f, 8);
data/tcc-0.9.27+git20200814.62c30a4a/tests/testfp.c:68: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(&x, &f, 16);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:92: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 pad1[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:93: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 a[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:94: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 pad2[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:95: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 b[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:96: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 pad3[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:107: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(&a[1],&b[0],10);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:109: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(&a[0],&b[1],10);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:111: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(&a[0],&a[3],4);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:113: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(&a[3],&a[0],4);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/117_gcc_test.c:48:21:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct big_struct { char a[262144]; };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/117_gcc_test.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 buf[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/117_gcc_test.c:67: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 tmp[100];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/21_char_array.c:19:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char destarray[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/28_strings.c:6:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char a[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/28_strings.c:8:4:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
   strcpy(a, "hello");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/28_strings.c:35:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
   memcpy(&a[2], a, 2);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/29_array_address.c:6:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char a[10];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/29_array_address.c:7:4:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
   strcpy(a, "abcdef");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/32_led.c:226:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[5*MAX_DIGITS];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/32_led.c:240:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char buf[5*MAX_DIGITS];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/32_led.c:249:8:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
   x = atol(argv[1]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/33_ternary_op.c:4:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char arr[1];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/37_sprintf.c:5:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char Buf[100];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/37_sprintf.c:10:7:  [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(Buf, "->%02d<-\n", Count);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:5:14:  [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 *f = fopen("fred.txt", "w");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:9:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char freddy[7];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:10:8:  [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).
   f = fopen("fred.txt", "r");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:21:8:  [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).
   f = fopen("fred.txt", "r");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:32:8:  [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).
   f = fopen("fred.txt", "r");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:43:8:  [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).
   f = fopen("fred.txt", "r");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/46_grep.c:96:1:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
char *pp, lbuf[LMAX], pbuf[PMAX];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/46_grep.c:558:20:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if ((f=fopen(p, "r")) == NULL)
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:8:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s1 { char x[1]; } s1 = { "0" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:9:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s2 { char x[2]; } s2 = { "12" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:10:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s3 { char x[3]; } s3 = { "345" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:11:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s4 { char x[4]; } s4 = { "6789" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:12:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s5 { char x[5]; } s5 = { "abcde" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:13:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s6 { char x[6]; } s6 = { "fghijk" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:14:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s7 { char x[7]; } s7 = { "lmnopqr" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:15:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s8 { char x[8]; } s8 = { "stuvwxyz" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:16:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s9 { char x[9]; } s9 = { "ABCDEFGHI" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:17:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s10 { char x[10]; } s10 = { "JKLMNOPQRS" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:18:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s11 { char x[11]; } s11 = { "TUVWXYZ0123" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:19:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s12 { char x[12]; } s12 = { "456789abcdef" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:20:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s13 { char x[13]; } s13 = { "ghijklmnopqrs" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:21:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s14 { char x[14]; } s14 = { "tuvwxyzABCDEFG" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:22:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s15 { char x[15]; } s15 = { "HIJKLMNOPQRSTUV" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:23:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s16 { char x[16]; } s16 = { "WXYZ0123456789ab" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/73_arm64.c:24:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct s17 { char x[17]; } s17 = { "cdefghijklmnopqrs" };
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/78_vla_label.c:6: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 test[argc];
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/80_flexarray.c:9: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 s[9]="nonono";
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/80_flexarray.c:14: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 s[9]="nonono";
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/80_flexarray.c:19:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char s[9]="nonono";
data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c:20: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 *array_ptrs[LOOP_COUNT];
data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c:23: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 test[n];
data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c:33: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 *array_ptrs[LOOP_COUNT];
data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c:37: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 test[n];
data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c:47: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 test2[n];
data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c:53:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char test[n];
data/tcc-0.9.27+git20200814.62c30a4a/tests/vla_test.c:58: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 test2[n];
data/tcc-0.9.27+git20200814.62c30a4a/win32/examples/fib.c:21:6:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	n = atoi(argv[1]);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/dirent.h:62: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			dd_name[1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/dirent.h:110:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t			dd_name[1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:35:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:46:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:55:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:64:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:102:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:113:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:122:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:131:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:372:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  int __cdecl open(const char *_Filename,int _OpenFlag,...);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/memory.h:28:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  void *__cdecl memcpy(void *_Dst,const void *_Src,size_t _Size);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:179:17:  [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 *__cdecl fopen(const char *_Filename,const char *_Mode);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:236:17:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
  FILE *__cdecl tmpfile(void);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:58:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char ld[10];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:83:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char ld12[12];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:152:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  _CRTIMP char *_sys_errlist[1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:336:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  int __cdecl atoi(const char *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:338:16:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  long __cdecl atol(const char *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:439:23:  [2] (integer) _wtoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  _CRTIMP int __cdecl _wtoi(const wchar_t *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:447:27:  [2] (integer) _wtoi64:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdlib.h:564:71:  [2] (integer) _wtoi64:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  __CRT_INLINE long long  __cdecl wtoll (const wchar_t * _w) { return _wtoi64 (_w); }
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:37:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  void *__cdecl memcpy(void *_Dst,const void *_Src,size_t _Size);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:219:16:  [2] (integer) _wtoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define _tstoi _wtoi
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:220:18:  [2] (integer) _wtoi64:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define _tstoi64 _wtoi64
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:234:15:  [2] (integer) _wtoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define _ttoi _wtoi
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:237:17:  [2] (integer) _wtoi64:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define _ttoi64 _wtoi64
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:588:16:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define _tstol atol
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:589: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).
#define _tstoi atoi
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:602:15:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define _ttoi atoi
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:603:15:  [2] (integer) atol:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
#define _ttol atol
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:679:17:  [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).
#define _tfopen fopen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:703:16:  [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).
#define _topen open
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/time.h:125:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  __MINGW_IMPORT char * _tzname[2];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/time.h:248:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  __MINGW_IMPORT char *tzname[2];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:87:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:98:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:107:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:116:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t name[260];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:704:23:  [2] (integer) _wtoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  _CRTIMP int __cdecl _wtoi(const wchar_t *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:712:27:  [2] (integer) _wtoi64:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
  _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:852:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  void *__cdecl memcpy(void *_Dst,const void *_Src,size_t _MaxCount);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:857:104:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  __CRT_INLINE wchar_t *__cdecl wmemcpy(wchar_t *_S1,const wchar_t *_S2,size_t _N) { return (wchar_t *)memcpy(_S1,_S2,_N*sizeof(wchar_t)); }
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/guiddef.h:12:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  unsigned char Data4[8 ];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:68:9:  [2] (buffer) CopyMemory:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define CopyMemory RtlCopyMemory
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/wingdi.h:2012: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 Buffer[1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winnls.h:701:25:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
  WINBASEAPI int WINAPI MultiByteToWideChar(UINT CodePage,DWORD dwFlags,LPCSTR lpMultiByteStr,int cbMultiByte,LPWSTR lpWideCharStr,int cchWideChar);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winnt.h:78:29:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winnt.h:5043:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      return memcpy(dst,src,size);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winnt.h:5045: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.
#define memcpy memcpy_inline
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winnt.h:5052:50:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:242: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 sin_zero[8];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:255: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 szDescription[WSADESCRIPTION_LEN+1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:256: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 szSystemStatus[WSASYS_STATUS_LEN+1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:258: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 szDescription[WSADESCRIPTION_LEN+1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:259: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 szSystemStatus[WSASYS_STATUS_LEN+1];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:353: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 sa_data[14];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:364: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 __ss_pad1[_SS_PAD1SIZE];
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winsock2.h:367: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 __ss_pad2[_SS_PAD2SIZE];
data/tcc-0.9.27+git20200814.62c30a4a/i386-asm.c:1210:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    t = tok_alloc(s+1, strlen(s)-1)->tok;
data/tcc-0.9.27+git20200814.62c30a4a/i386-asm.c:1491:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		get_asm_sym(tok_alloc(name, strlen(name))->tok, sv->sym);
data/tcc-0.9.27+git20200814.62c30a4a/i386-asm.c:1710:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ts = tok_alloc(str, strlen(str));
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:258:34:  [1] (free) memalign:
  On some systems (though not Linux-based systems) an attempt to free()
  results from memalign() may fail. This may, on a few systems, be
  exploitable. Also note that memalign() may not check that the boundary
  parameter is correct (CWE-676). Use posix_memalign instead (defined in
  POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD
  4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases,
  malloc()'s alignment may be sufficient.
#define BOUND_MEMALIGN(a,b)      memalign(a,b)
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:869:13:  [1] (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). Risk is low because the
  source is a constant character.
            strcat (exec, ":");
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:955:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            tree = splay_insert((size_t) argv[i], strlen (argv[i]) + 1, tree);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:963:50:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                        argv[i], (unsigned long)(strlen (argv[i]) + 1));
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:975:46:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            tree = splay_insert((size_t) *p, strlen (*p) + 1, tree);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:986: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).
                        *p, (unsigned long)(strlen (*p) + 1));
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:1152:7:  [1] (free) memalign:
  On some systems (though not Linux-based systems) an attempt to free()
  results from memalign() may fail. This may, on a few systems, be
  exploitable. Also note that memalign() may not check that the boundary
  parameter is correct (CWE-676). Use posix_memalign instead (defined in
  POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD
  4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases,
  malloc()'s alignment may be sufficient.
void *memalign(size_t size, size_t align)
data/tcc-0.9.27+git20200814.62c30a4a/lib/bcheck.c:1527:12:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    return strncpy(dest, src, n);
data/tcc-0.9.27+git20200814.62c30a4a/lib/bt-exe.c:37:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int l = strlen(s);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:188:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen(buf);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:264: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).
    ptr = tcc_malloc(strlen(str) + 1);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:329:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ofs = strlen(file) - MEM_DEBUG_FILE_LEN;
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:330:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(header->file_name, file + (ofs > 0 ? ofs : 0), MEM_DEBUG_FILE_LEN);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:400: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).
    ptr = tcc_malloc_debug(strlen(str) + 1, file, line);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:500:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen(buf);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:715: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).
            int len = strlen(str);
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1441:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    *str = s2 ? s2++ : (s2 = s1 + strlen(s1));
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1451:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        p[l = strlen(p)] = sep, ++l;
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1729: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).
    struct filespec *f = tcc_malloc(sizeof *f + strlen(filename));
data/tcc-0.9.27+git20200814.62c30a4a/libtcc.c:1784:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    lseek(fd, 0, SEEK_SET), read(fd, p, len), close(fd);
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:33:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ts = tok_alloc(buf, strlen(buf));
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:57:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        v = tok_alloc(name + 1, strlen(name) - 1)->tok;
data/tcc-0.9.27+git20200814.62c30a4a/tccasm.c:59:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        int n = strlen(name) + 2;
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:303:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			len = strlen(str);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:493:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			len = strlen(str);
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:531: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(name) <= 8) {
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:534:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		if (pCoff_str_table - Coff_str_table + strlen(name) >
data/tcc-0.9.27+git20200814.62c30a4a/tcccoff.c:543: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).
		pCoff_str_table += strlen(name) + 1;	// skip over null
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:211:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    sec = tcc_mallocz(sizeof(Section) + strlen(name));
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:354:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    len = strlen(sym) + 1;
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:1180:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        len = strlen(name);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2434:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                ptr = section_ptr_add(interp, 1 + strlen(elfint));
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2603:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ssize_t num = read(fd, cbuf, count-rnum);
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:2985:56:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        for (p = ar_names, i = 0; i < nsyms; i++, p += strlen(p)+1) {
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:3277: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).
    dllref = tcc_mallocz(sizeof(DLLReference) + strlen(soname));
data/tcc-0.9.27+git20200814.62c30a4a/tccelf.c:3340:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (1 == read(s1->fd, &b, 1))
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:2857:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    buf_size -= strlen(buf);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:2858:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    buf += strlen(buf);
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:5517:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            len = strlen(funcname) + 1;
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:5972:52:  [1] (buffer) strlen:
  Does not handle 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 (name && strncmp (name, "__bound_", strlen("__bound_")) == 0) {
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:5977: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).
                t = tok_alloc(str, strlen(str))->tok;
data/tcc-0.9.27+git20200814.62c30a4a/tccgen.c:8392:50:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    fn = tcc_malloc(sizeof *fn + strlen(file->filename));
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:35:5:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int fgetc(FILE *stream);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:37:5:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int getc(FILE *stream);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:38:5:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int getchar(void);
data/tcc-0.9.27+git20200814.62c30a4a/tcclib.h:68:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
size_t strlen(const char *s);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:265:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(sc->segname, name, 16);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:285:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(sec->sectname, name, 16);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:286:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(sec->segname, seg->segname, 16);
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:299:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int sz = (sizeof(*lc) + strlen(name) + 1 + 7) & -8;
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:581: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).
    i = (sizeof(*dyldlc) + strlen("/usr/lib/dyld") + 1 + 7) &-8;
data/tcc-0.9.27+git20200814.62c30a4a/tccmacho.c:955: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).
    dllref = tcc_mallocz(sizeof(DLLReference) + strlen(soname));
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:685:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        memcpy(psh->Name, sh_name, umin(strlen(sh_name), sizeof psh->Name));
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1531: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).
    dllref = tcc_mallocz(sizeof(DLLReference) + strlen(dllname));
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1542:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return len == read(fd, buffer, len);
data/tcc-0.9.27+git20200814.62c30a4a/tccpe.c:1767:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        for (q = p; *q; q += 1 + strlen(q))
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:255:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
            { int ofs = strlen(file) - TAL_DEBUG_FILE_LEN;
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:256:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(header->file_name, file + (ofs > 0 ? ofs : 0), TAL_DEBUG_FILE_LEN);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:351:15:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        len = strlen(str) + 1 + len;
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:616:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            len = read(bf->fd, bf->buffer, len);
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1628:44:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    e = tcc_malloc(sizeof(CachedInclude) + strlen(filename));
data/tcc-0.9.27+git20200814.62c30a4a/tccpp.c:1828:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    len = strlen(buf);
data/tcc-0.9.27+git20200814.62c30a4a/tccrun.c:462: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).
                len = strlen(str);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:212:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    istrlen = strlen(strtab + sym->st_name)+1;
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:229:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        istrlen = strlen(name);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:386:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        q += strlen(q) + 1;
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:448: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).
    sl = strlen(str);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:449: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).
    pl = strlen(p);
data/tcc-0.9.27+git20200814.62c30a4a/tcctools.c:450: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).
    rl = strlen(r);
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:169:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    return strlen(tab);
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:185:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ret = strlen(p);
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:197:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ret = strlen(p);
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:213:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    printf("alloca : %s : %s\n", p, strcpy(alloca(strlen(demo)+1),demo) );
data/tcc-0.9.27+git20200814.62c30a4a/tests/boundtest.c:229:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    printf("alloca : %s : %s\n", p, strcpy(alloca(strlen(demo)),demo) );
data/tcc-0.9.27+git20200814.62c30a4a/tests/libtcc_test_mt.c:53:5:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
    usleep(n * 1000);
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/c2str.c:65:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    c = strlen(sr[f]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/tcc_predefs.h:79:27:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    __BOTH(__SIZE_TYPE__, strlen, (const char *))
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/tcc_predefs.h:81:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    __BOTH(char*, strncpy, (char *, const char*, __SIZE_TYPE__))
data/tcc-0.9.27+git20200814.62c30a4a/tests/misc/tcc_predefs.h:96:26:  [1] (free) memalign:
  On some systems (though not Linux-based systems) an attempt to free()
  results from memalign() may fail. This may, on a few systems, be
  exploitable. Also note that memalign() may not check that the boundary
  parameter is correct (CWE-676). Use posix_memalign instead (defined in
  POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD
  4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases,
  malloc()'s alignment may be sufficient.
    __MAYBE_REDIR(void*, memalign, (__SIZE_TYPE__, __SIZE_TYPE__))
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:2788:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    printf("alloca: %s\n", strcpy(alloca(strlen(demo)+1),demo) );
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:4073:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    printf("len1=%d\n", strlen("
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:4078:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    printf("len1=%d str[0]=%d\n", strlen(str), str[0]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tcctest.c:4080:25:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    printf("len1=%d\n", strlen("
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:125:5:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    strlen(&b[0]);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:135:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(&a[7], &a[0], 10);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:137:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(&a[0], &b[7], 10);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:139:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(&a[0], &a[1], 10);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/112_backtrace.c:141:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(&a[2], &a[0], 10);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/28_strings.c:11:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
   strncpy(a, "gosh", 2);
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/28_strings.c:18:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
   printf("%d\n", strlen(a));
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/28_strings.c:20:4:  [1] (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). Risk is low because the
  source is a constant character.
   strcat(a, "!");
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:22:22:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   while ( (InChar = fgetc(f)) != EOF)
data/tcc-0.9.27+git20200814.62c30a4a/tests/tests2/40_stdio.c:33:22:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   while ( (InChar = getc(f)) != EOF)
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:277:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(_FindData->name,fd.name,260);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:292:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(_FindData->name,fd.name,260);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:373:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  int __cdecl read(int _FileHandle,void *_DstBuf,unsigned int _MaxCharCount);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/io.h:377:15:  [1] (access) umask:
  Ensure that umask is given most restrictive possible setting (e.g., 066 or
  077) (CWE-732).
  int __cdecl umask(int _Mode);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:168:15:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  int __cdecl fgetc(FILE *_File);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:196:15:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  int __cdecl getc(FILE *_File);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/stdio.h:197:15:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  int __cdecl getchar(void);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:48:18:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  size_t __cdecl strlen(const char *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:71:17:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
  char *__cdecl strncat(char *_Dest,const char *_Source,size_t _Count);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:75:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  char *strncpy(char *_Dest,const char *_Source,size_t _Count);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:111:18:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  size_t __cdecl wcslen(const wchar_t *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:113:12:  [1] (buffer) wcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
  wchar_t *wcsncat(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/string.h:115:12:  [1] (buffer) wcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  wchar_t *wcsncpy(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:23:18:  [1] (buffer) _tcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _ftcslen _tcslen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:24:19:  [1] (buffer) _tcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _ftcsncat _tcsncat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:25:19:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _ftcsncpy _tcsncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:191:9:  [1] (buffer) _gettc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define _gettc getwc
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:245:9:  [1] (buffer) _tcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcslen wcslen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:245:17:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcslen wcslen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:247:9:  [1] (buffer) _tcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _tcsncat wcsncat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:247:18:  [1] (buffer) wcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _tcsncat wcsncat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:249:9:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsncpy wcsncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:249:18:  [1] (buffer) wcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsncpy wcsncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:386:18:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcsclen wcslen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:388:37:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcsclen_l(_String,_Locale) wcslen(_String)
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:390:19:  [1] (buffer) wcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _tcsnccat wcsncat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:392:19:  [1] (buffer) wcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsnccpy wcsncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:456:58:  [1] (buffer) wcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _wcsncpy_l(_Destination,_Source,_Count,_Locale) (wcsncpy(_Destination,_Source,_Count))
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:457:58:  [1] (buffer) wcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _wcsncat_l(_Destination,_Source,_Count,_Locale) (wcsncat(_Destination,_Source,_Count))
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:553:17:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define _fgettc fgetc
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:562:9:  [1] (buffer) _gettc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define _gettc getc
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:562:16:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define _gettc getc
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:568:19:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define _gettchar getchar
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:616:9:  [1] (buffer) _tcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcslen strlen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:616:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcslen strlen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:769:9:  [1] (buffer) _tcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _tcsncat _mbsnbcat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:769:18:  [1] (buffer) _mbsnbcat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _tcsncat _mbsnbcat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:771:9:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsncpy _mbsnbcpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:771:18:  [1] (buffer) _mbsnbcpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsncpy _mbsnbcpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:809:18:  [1] (buffer) _mbslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcsclen _mbslen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:840:25:  [1] (buffer) _tcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
  _CRTIMP char *__cdecl _tcsncat(char *_Dst,const char *_Src,size_t _MaxCount);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:842:25:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  _CRTIMP char *__cdecl _tcsncpy(char *_Dst,const char *_Src,size_t _MaxCount);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:962:9:  [1] (buffer) _tcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
#define _tcsncat strncat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:962:18:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
#define _tcsncat strncat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:964:9:  [1] (buffer) _tcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsncpy strncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:964:18:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsncpy strncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:1001: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).
#define _tcsclen strlen
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:1003:37:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#define _tcsclen_l(_String,_Locale) strlen(_String)
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:1005:19:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
#define _tcsnccat strncat
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:1007:19:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _tcsnccpy strncpy
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:1086:58:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define _strncpy_l(_Destination,_Source,_Count,_Locale) (strncpy(_Destination,_Source,_Count))
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/tchar.h:1087:58:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
#define _strncat_l(_Destination,_Source,_Count,_Locale) (strncat(_Destination,_Source,_Count))
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:744:18:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  size_t __cdecl wcslen(const wchar_t *_Str);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:746:20:  [1] (buffer) wcsncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, or
  automatically resizing strings.
  wchar_t *__cdecl wcsncat(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/wchar.h:748:20:  [1] (buffer) wcsncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  wchar_t *__cdecl wcsncpy(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1564:9:  [1] (buffer) lstrcpyn:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define lstrcpyn lstrcpynW
data/tcc-0.9.27+git20200814.62c30a4a/win32/include/winapi/winbase.h:1572:9:  [1] (buffer) lstrcpyn:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
#define lstrcpyn lstrcpynA

ANALYSIS SUMMARY:

Hits = 853
Lines analyzed = 103659 in approximately 2.46 seconds (42077 lines/second)
Physical Source Lines of Code (SLOC) = 86390
Hits@level = [0] 1619 [1] 153 [2] 385 [3]  33 [4] 274 [5]   8
Hits@level+ = [0+] 2472 [1+] 853 [2+] 700 [3+] 315 [4+] 282 [5+]   8
Hits/KSLOC@level+ = [0+] 28.6144 [1+] 9.87383 [2+] 8.10279 [3+] 3.64626 [4+] 3.26427 [5+] 0.0926033
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.