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/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTest.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclSelectNotfy.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclAppInit.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixEvent.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixNotfy.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadShl.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclXtTest.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkgc.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkge.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkgooa.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkgua.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkgb.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkga.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkgd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixThrd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadDl.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclXtNotify.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadDyld.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclKqueueNotfy.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadNext.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadOSF.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTime.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPort.h
Examining data/tcl8.7-8.7.0~a3+dfsg/unix/tclEpollNotfy.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_count_bits.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce_is_2k.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_to_radix.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_rand_jenkins.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_u32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_exteuclid.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_pack_count.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_isodd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_ubin_size.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_grow.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_expt_u32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_log_u32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_sqrtmod_prime.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mul_2d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_to_sbin.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/tommath_cutoffs.h
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_radix_smap.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_clear_multi.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_mul_digs.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_toom_sqr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_rand_platform.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_u32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_to_ubin.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_prime_tab.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_i32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_montgomery_calc_normalization.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce_2k_l.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_sub.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_decr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_shrink.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_invmod_fast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_submod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_exptmod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_incr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_div_2d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_sqr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_cnt_lsb.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_karatsuba_mul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_iseven.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_div_d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_exptmod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_complement.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_mag_u32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_signed_rsh.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_div.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_i32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_mag_u64.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_root_u32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_mag_ul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_neg.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/tommath_class.h
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_kronecker.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_miller_rabin.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_dr_is_modulus.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_double.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_copy.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/tommath_private.h
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_add.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_div_3.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_deprecated.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_add.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_get_bit.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_ull.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_rabin_miller_trials.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_is_prime.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_xor.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mod_2d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_rshd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_cutoffs.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_montgomery_setup.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_clear.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_cmp_mag.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_zero.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_add_d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_i64.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce_2k_setup_l.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_ll.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_2expt.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce_setup.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mul_d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_sbin_size.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_and.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_strong_lucas_selfridge.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_l.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_rand.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_sqrt.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_gcd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_dr_setup.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_ll.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mod_d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_karatsuba_sqr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_set.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce_is_2k_l.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_cmp_d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_mul_high_digs_fast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_sub_d.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_u64.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_dr_reduce.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_frobenius_underwood.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_error_to_string.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_from_sbin.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_multi.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce_2k.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_rand.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_fread.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_reduce_2k_setup.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_read_radix.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_invmod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_sqr_fast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_fermat.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_mul_high_digs.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_invmod_slow.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_i64.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_mag_ull.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_unpack.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_cmp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mul_2.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_ull.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_lcm.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_double.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_div_2.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_ul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_mul_digs_fast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_montgomery_reduce_fast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_from_ubin.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_or.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_fwrite.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/tommath_superclass.h
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_prime_is_divisible.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_copy.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_addmod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_sqrmod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_exch.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_i32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_pack.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_sub.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/tommath.h
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_montgomery_reduce.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_radix_size.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_l.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mulmod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_sqr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_toom_mul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_l.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_abs.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_init_size.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_balance_mul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_lshd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_i64.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_u64.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_set_ul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_is_square.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_exptmod_fast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_prime_next_prime.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_get_ll.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_clamp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_mod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_reverse.c
Examining data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXFCmd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXBundle.c
Examining data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXNotify.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclAppInit.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPanic.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFCmd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinError.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTime.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinNotify.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTest.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWin32Dll.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPort.h
Examining data/tcl8.7-8.7.0~a3+dfsg/win/cat.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinChan.c
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInt.h
Examining data/tcl8.7-8.7.0~a3+dfsg/win/tclWinLoad.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclInt.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclProc.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOODefineCmds.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOIntDecls.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclAsync.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regfronts.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadJoin.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtf.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclHistory.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclUniData.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tcl.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTomMathInterface.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIntDecls.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPlatDecls.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOStubInit.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclMain.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTomMath.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdAH.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclThread.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPanic.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOCall.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPort.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOO.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOCmd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclProcess.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdIL.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclDictObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regc_lex.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclVar.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOSock.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclNotify.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclFCmd.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIntPlatDecls.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoadNone.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclScan.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclGet.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/rege_dfa.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclStubLib.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regfree.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInfo.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclStubInit.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regcustom.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regguts.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOO.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclFileSystem.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclConfig.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclAssembly.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclResolve.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regc_locale.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclStrToD.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInt.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkgConfig.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regerrs.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOScript.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOptimize.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadStorage.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmds.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOBasic.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regcomp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOStubLib.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclListObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclEvent.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringRep.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPosixStr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regc_nfa.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoad.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTimer.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclAlloc.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringTrim.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTomMathInt.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTomMathStubLib.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnsemble.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclDecls.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTomMathDecls.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORChan.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOODecls.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tommath.h
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regc_color.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestProcBodyObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclFileName.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPathObj.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPreserve.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclPipe.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOMethod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regc_cvec.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsGR.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOUtil.c
Examining data/tcl8.7-8.7.0~a3+dfsg/generic/regex.h
Examining data/tcl8.7-8.7.0~a3+dfsg/tools/man2tcl.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/opendir.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/strstr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/dlfcn.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/strncasecmp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/dirent.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/stdlib.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/fake-rfc2553.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/mkstemp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/gettod.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzclose.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zconf.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/deflate.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inflate.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/uncompr.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inffast.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzguts.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/crc32.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inflate.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inftrees.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zlib.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/puff/pufftest.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/puff/puff.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/puff/puff.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/masmx64/inffas8664.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/test.cpp
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/testzlib/testzlib.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/test.cc
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream_test.cpp
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/iowin32.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/unzip.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/iowin32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/crypt.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/unzip.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/inflate86/inffas86.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/blast/blast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/blast/blast.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/infback9/inffix9.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/infback9/infback9.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/infback9/inftree9.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/infback9/inftree9.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/infback9/infback9.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/infback9/inflate9.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzread.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inftrees.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/compress.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/crc32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inffast.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/deflate.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/adler32.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/trees.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/fitblk.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zpipe.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/enough.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzjoin.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/infback.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/trees.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inffixed.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/strtol.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/string.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/strtoul.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/fake-rfc2553.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/memcmp.c
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/dirent2.h
Examining data/tcl8.7-8.7.0~a3+dfsg/compat/waitpid.c

FINAL RESULTS:

data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:32:13:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
#    define chmod(path,mode)    _chmod(path,mode)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:277:7:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
      chmod(item->fname,item->mode);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:527:11:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
    (void)chmod(to, was.st_mode & 07777);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:530:11:  [5] (race) chown:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchown( ) instead.
    (void)chown(to, was.st_uid, was.st_gid);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:497:11:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
	length = readlink(src, linkBuf, MAXPATHLEN);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:883:2:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
	chmod(path, (mode_t) newPerm);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:915:2:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
	chmod(path, oldPerm);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:1311:9:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
    if (chmod(dst, newMode)) {				/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:1313:6:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
	if (chmod(dst, newMode)) {			/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:1532:14:  [5] (race) chown:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchown( ) instead.
    result = chown(native, (uid_t) -1, (gid_t) gid);	/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:1598:14:  [5] (race) chown:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchown( ) instead.
    result = chown(native, (uid_t) uid, (gid_t) -1);	/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:1692:14:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
    result = chmod(native, newMode);		/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:815:14:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
    length = readlink(native, link, sizeof(link));	/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:985:11:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
	length = readlink(Tcl_FSGetNativePath(pathPtr), link, sizeof(link));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTest.c:634:6:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
	if (chmod(translated, mode) != 0) {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTest.c:631:12:  [5] (race) chmod:
  This accepts filename arguments; if an attacker can move those files, a
  race condition results. (CWE-362). Use fchmod( ) instead.
    return chmod(nativePath, pmode);
data/tcl8.7-8.7.0~a3+dfsg/compat/string.h:39:16:  [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).
extern char *		strcat(char *dst, const char *src);
data/tcl8.7-8.7.0~a3+dfsg/compat/string.h:42:16:  [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).
extern char *		strcpy(char *dst, const char *src);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:154: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(buffer,newdir);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:376:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(newname,"%s/%s",dir.path,file.name);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h:71:26:  [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 _tinydir_strcpy _tcscpy
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h:72:26:  [4] (buffer) _tcscat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
# define _tinydir_strcat _tcscat
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h:80:26:  [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 _tinydir_strcpy strcpy
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h:81:26:  [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 _tinydir_strcat strcat
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:31:13:  [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(path,mode)   _access(path,mode)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:137: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(buffer,arcname);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:142:8:  [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+origlen,TGZsuffix[i]);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:143:12:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
       if (access(buffer,F_OK) == 0)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:158: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(stderr,(TGZsuffix[i+1]) ? "%s%s, " : "or %s%s\n",
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:586: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(dest, log->path);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:878: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(log->id, LOGID);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:888: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(log->path, path);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:75:8:  [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.
struct access {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:82:30:  [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.
local void free_index(struct access *index)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:92:14:  [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.
local struct access *addpoint(struct access *index, int bits,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:92:38:  [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.
local struct access *addpoint(struct access *index, int bits,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:99:38:  [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.
        index = malloc(sizeof(struct access));
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:144:52:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
local int build_index(FILE *in, off_t span, struct access **built)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:149:12:  [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.
    struct access *index;       /* access points being generated */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:249:36:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
local int extract(FILE *in, struct access *index, off_t offset,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:359:12:  [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.
    struct access *index = NULL;
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzguts.h:86:18:  [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.
#    if !defined(vsnprintf) && !defined(NO_vsnprintf)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzguts.h:88:18:  [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/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzguts.h:110:11:  [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/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzguts.h:110: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 snprintf _snprintf
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:216: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(state->path, path);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:614: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(state->msg, state->path);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:616: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(state->msg, msg);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:417:11:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    (void)vsprintf(next, format, va);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:421:11:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
    len = vsprintf(next, format, va);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:425: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.
    (void)vsnprintf(next, state->size, format, va);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:428: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(next, state->size, format, va);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:511:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(next, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:517:11:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    len = sprintf(next, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:522: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(next, state->size, format, a1, a2, a3, a4, a5, a6, a7, a8, a9,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:526:11:  [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.
    len = snprintf(next, state->size, format, a1, a2, a3, a4, a5, a6, a7, a8,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:529: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(prefix, id);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:555: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(prefix, id);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:44:11:  [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/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:44: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 snprintf _snprintf
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:473: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(outfile, file);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:474: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(outfile, GZ_SUFFIX);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:513: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(buf, file);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:526:9:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
        strcat(infile, GZ_SUFFIX);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:242:39:  [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 Trace(x) {if (z_verbose>=0) fprintf x ;}
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:243:39:  [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 Tracev(x) {if (z_verbose>0) fprintf x ;}
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:244:40:  [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 Tracevv(x) {if (z_verbose>1) fprintf x ;}
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:245:48:  [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 Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:246: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 Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:103:6:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    sprintf(convbuf, unk, code);
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:112: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(errbuf, msg);
data/tcl8.7-8.7.0~a3+dfsg/generic/regguts.h:84:53:  [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	FDEBUG(arglist)	{ if (v->eflags&REG_FTRACE) printf arglist; }
data/tcl8.7-8.7.0~a3+dfsg/generic/regguts.h:86:53:  [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	MDEBUG(arglist)	{ if (v->eflags&REG_MTRACE) printf arglist; }
data/tcl8.7-8.7.0~a3+dfsg/generic/tclAssembly.c:547:26:  [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 DEBUG_PRINT(...)	fprintf(stderr, ##__VA_ARGS__);fflush(stderr)
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:1081:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(mathFuncName+MATH_FUNC_PREFIX_LEN, builtinFuncPtr->name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:1104:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(mathFuncName + MATH_OP_PREFIX_LEN, opcmdInfoPtr->name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:907:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(onExitMemDumpFileName,fileName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:1000: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(tclMemDumpFileName, TclGetString(objv[1]));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:294:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(cmdName + TCL_CLOCK_PREFIX_LEN, clockCmdPtr->name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:2045:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(tzWas, tzIsNow);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclConfig.c:87:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(cdPtr->encoding, valEncoding);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:841:21:  [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 YYFPRINTF fprintf
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:1125:26:  [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).
    encodingPtr->name		= strcpy(name, typePtr->encodingName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:434:2:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	printf a;						\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:439:2:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	printf a;			\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:450:2:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	printf a;						\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclFCmd.c:1237:7:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		int access;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclFCmd.c:1246:7:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		if (access != 0) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:1673:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(tmp, chanName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORChan.c:3245:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(buf,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInt.h:140:12:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
#   define vsnprintf _vsnprintf
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoad.c:989:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(pkgPtr->packageName, pkgName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPanic.c:106:2:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	fprintf(stderr, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:833:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(pkgName->name, name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:265:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(statePtr->result, iPtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:332:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(iPtr->result, statePtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:843:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(newSpace, iPtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:850:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(iPtr->appendResult, iPtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:2434:44:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	    if (!Tcl_AttemptSetObjLength(segment, sprintf(bytes, spec, d))) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:866:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(asyncPtr->command, argv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1657: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(dPtr->deleteCmd, argv[3]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:3118: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(stringVar, argv[5]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:3225: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(stringVar, argv[5]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4283: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(buf, argv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestProcBodyObj.c:149:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(buf, "namespace eval %s { namespace export %s }",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestProcBodyObj.c:156:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(buf, "%s::%s", namesp, cmdTablePtr->cmdName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:439:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(errorProcString, proc);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:599: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(threadEvalScript, ctrlPtr->script);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:845: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(threadEventPtr->script, script);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1046:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(resultPtr->result, result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1049: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(resultPtr->errorCode, errorCode);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1053: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(resultPtr->errorInfo, errorInfo);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1203: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(resultPtr->result, msg);
data/tcl8.7-8.7.0~a3+dfsg/tools/man2tcl.c:61:40:  [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 PRINT(args)	if (writeOutput) { printf args; }
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:133:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, strerror(errno));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:138: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(mp->name, path);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:151:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, path);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:163: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(errbuf, strerror(errno));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:170:6:  [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(errbuf, strerror(errno));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:184:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, strerror(errno));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:257:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, p);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:261:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, p);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:265:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, p);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:269:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, p);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:272:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, strerror(atoi(++p)));	/* INTL: "C", UTF safe. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:275:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(errbuf, s);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:302: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(errbuf, symbol);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:342:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(errbuf, strerror(errno));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:545:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(ep->name, symname);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:564: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(errbuf, errMsg);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:620: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(errbuf, strerror(errno));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadNext.c:143:2:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
	strcat(sym, symbol);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:2011:17:  [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.
	    accessOk = access(nativePath, F_OK);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:2252: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.
	    && access(dir, W_OK) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:2258:55:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    if (stat(dir, &buf)==0 && S_ISDIR(buf.st_mode) && access(dir, W_OK)==0) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:123:7:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	if ((access(name, X_OK) == 0)			/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:469:4:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		(access(nativeEntry, R_OK) != 0)) ||
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:471:4:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		(access(nativeEntry, W_OK) != 0)) ||
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:473:4:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		(access(nativeEntry, X_OK) != 0))
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:630:12:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    return access(path, mode);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:725:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(newCd, buffer);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:917:10:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	    if (access(target, F_OK) == -1) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:927:6:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	if (access(src, F_OK) != -1) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:484:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(installLib, "lib/tcl%s", TCL_VERSION);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:492:2:  [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(newArgv[0], newArgv);			/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1419:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(channelName, SOCK_TEMPLATE, (long) statePtr);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1486:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(channelName, SOCK_TEMPLATE, (long)statePtr);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1708:13:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
            sprintf(channelName, SOCK_TEMPLATE, (long) statePtr);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1801:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(channelName, SOCK_TEMPLATE, (long) newSockState);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTime.c:582:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(lastTZ, newTZ);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:33:11:  [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/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:33: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   snprintf	_snprintf
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:250:5:  [4] (buffer) lstrcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
    lstrcat(cmdline, option);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:388:2:  [4] (buffer) lstrcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120).
	lstrcat(cmdline, options[i]);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:677:6:  [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(szBuffer);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:437:5:  [4] (buffer) wcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
    wcscpy(riPtr->name, actualName);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinError.c:396:2:  [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, sizeof(buf), format, argList);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinError.c:412:2:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	vfprintf(stderr, format, argList);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:816: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, sizeof(buf), format, argList);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:201:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(installLib, "lib/tcl%s", TCL_VERSION);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:364:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(end + 1, "lib/tcl%s", TCL_VERSION);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInt.h:60:14:  [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.
			    DWORD access);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinLoad.c:421:5:  [4] (buffer) wcscpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using a function version that stops copying at the end
  of the buffer.
    wcscpy(dllDirectoryName, name);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPanic.c:43: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+3, sizeof(buf)-3, format, argList);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1314:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(fullName, Tcl_WCharToUtfDString(nativeFullPath, -1, &ds));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1406:2:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
	strcpy(fullName, Tcl_WCharToUtfDString(nativeFullPath, -1, &ds));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:448: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(buffer, keyName);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:981: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(buffer, keyName);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1398:11:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    DWORD access)
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1416:32:  [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.
    handle = CreateFileW(name, access, 0, 0, OPEN_EXISTING,
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2108:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(channelName, SOCK_TEMPLATE, statePtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2169:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(channelName, SOCK_TEMPLATE, statePtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2348:2:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
	sprintf(channelName, SOCK_TEMPLATE, statePtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2434:5:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
    sprintf(channelName, SOCK_TEMPLATE, newInfoPtr);
data/tcl8.7-8.7.0~a3+dfsg/compat/stdlib.h:27:16:  [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.
extern char *		getenv(const char *name);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:402:11:  [3] (random) setstate:
  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.
    this->setstate(std::ios_base::failbit);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:413:11:  [3] (random) setstate:
  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.
    this->setstate(std::ios_base::failbit);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:423:11:  [3] (random) setstate:
  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.
    this->setstate(std::ios_base::failbit);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:457:11:  [3] (random) setstate:
  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.
    this->setstate(std::ios_base::failbit);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:468:11:  [3] (random) setstate:
  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.
    this->setstate(std::ios_base::failbit);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:478:11:  [3] (random) setstate:
  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.
    this->setstate(std::ios_base::failbit);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/crypt.h:118:9:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        srand((unsigned)(time(NULL) ^ ZCR_SEED2));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:781:9:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    if (getenv("TCL_PKG_PREFER_LATEST") == NULL) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:813:9:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    if (getenv("TCL_INTERP_DEBUG_FRAME") != NULL) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:1662:16:  [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.
    varValue = getenv(varName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:2037:15:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    tzIsNow = getenv("TZ");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOUtil.c:3106:21:  [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 *skipstr = getenv("TCL_TEMPLOAD_NO_UNLINK");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:252:12:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
    return realpath(path, resolved);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:255:21:  [3] (buffer) realpath:
  This function does not protect against buffer overflows, and some
  implementations can overflow internally (CWE-120/CWE-785!). Ensure that the
  destination buffer is at least of size MAXPATHLEN, andto protect against
  implementation problems, the input argument should also be checked to
  ensure it is no larger than MAXPATHLEN.
#   define Realpath	realpath
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:2250:11:  [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.
    dir = getenv("TMPDIR");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:79:9:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    p = getenv("PATH");					/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:713:9:  [3] (buffer) getwd:
  This does not protect against buffer overflows by itself, so use with
  caution (CWE-120, CWE-20). Use getcwd instead.
    if (getwd(buffer) == NULL) {			/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:767:9:  [3] (buffer) getwd:
  This does not protect against buffer overflows by itself, so use with
  caution (CWE-120, CWE-20). Use getcwd instead.
    if (getwd(buffer) == NULL)				/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:466:11:  [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.
    str = getenv("TCL_LIBRARY");			/* INTL: Native. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:649:16:  [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.
    encoding = getenv("LC_ALL");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:652:13:  [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.
	encoding = getenv("LC_CTYPE");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:655:13:  [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.
	encoding = getenv("LANG");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTime.c:568:25:  [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 *newTZ = getenv("TZ");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:258:10:  [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.
    ok = CreateProcess(
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:258:10:  [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.
    ok = CreateProcess(
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:392:10:  [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.
    ok = CreateProcess(
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:392:10:  [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.
    ok = CreateProcess(
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinNotify.c:90:6:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	    InitializeCriticalSection(&notifierMutex);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinNotify.c:99:2:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	EnterCriticalSection(&notifierMutex);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinNotify.c:124:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&tsdPtr->crit);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinNotify.c:194:2:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	EnterCriticalSection(&notifierMutex);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinNotify.c:248:6:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	    EnterCriticalSection(&tsdPtr->crit);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinNotify.c:406:2:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	EnterCriticalSection(&tsdPtr->crit);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:779:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&infoPtr->csWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:823:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&infoPtr->csWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1014:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&infoPtr->csWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1487:5:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
    InitializeCriticalSection(&infoPtr->csWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:2215:2:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	EnterCriticalSection(&infoPtr->csWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:219:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&joinLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:299:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&joinLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:363:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&joinLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:364:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&initLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:365:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&masterLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:367:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&initLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:425:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&joinLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:426:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&initLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:427:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&masterLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:429:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&masterLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:479:2:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	InitializeCriticalSection(&allocLock.crit);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:572:6:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	    InitializeCriticalSection(csPtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:579:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(csPtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:715:6:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
	    InitializeCriticalSection(&winCondPtr->condLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:738:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&winCondPtr->condLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:767:2:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	EnterCriticalSection(&winCondPtr->condLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:801:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(csPtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:843:2:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	EnterCriticalSection(&winCondPtr->condLock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinThrd.c:948:5:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
    InitializeCriticalSection(&lockPtr->wlock);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTime.c:550:3:  [3] (misc) InitializeCriticalSection:
  Exceptions can be thrown in low-memory situations. Use
  InitializeCriticalSectionAndSpinCount instead.
		InitializeCriticalSection(&timeInfo.cs);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTime.c:591:2:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
	EnterCriticalSection(&timeInfo.cs);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTime.c:1198:5:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
    EnterCriticalSection(&timeInfo.cs);
data/tcl8.7-8.7.0~a3+dfsg/compat/dirent2.h: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 d_name[MAXNAMLEN + 1];	/* Name must be no longer than this */
data/tcl8.7-8.7.0~a3+dfsg/compat/dirent2.h: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 dd_buf[DIRBLKSIZ];
data/tcl8.7-8.7.0~a3+dfsg/compat/fake-rfc2553.c:75:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char tmpserv[16];
data/tcl8.7-8.7.0~a3+dfsg/compat/fake-rfc2553.h:49:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char		__ss_pad2[_SS_PADSIZE];
data/tcl8.7-8.7.0~a3+dfsg/compat/mkstemp.c:35:1:  [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).
mkstemp(
data/tcl8.7-8.7.0~a3+dfsg/compat/mkstemp.c:75:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	fd = open(tmpl, O_RDWR|O_CREAT|O_EXCL, 0600);
data/tcl8.7-8.7.0~a3+dfsg/compat/opendir.c:28:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if ((fd = open(myname, 0, 0)) == -1) {
data/tcl8.7-8.7.0~a3+dfsg/compat/opendir.c:50: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 od_name[ODIRSIZ];
data/tcl8.7-8.7.0~a3+dfsg/compat/opendir.c:58: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 od_name[ODIRSIZ];
data/tcl8.7-8.7.0~a3+dfsg/compat/stdlib.h:22:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
extern int		atoi(const char *string);
data/tcl8.7-8.7.0~a3+dfsg/compat/stdlib.h:23:14:  [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).
extern long		atol(const char *string);
data/tcl8.7-8.7.0~a3+dfsg/compat/string.h:30: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.
extern char *		memcpy(void *t, const void *f, size_t n);
data/tcl8.7-8.7.0~a3+dfsg/compat/string.h:32:25:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define memmove(d,s,n)	(bcopy((s), (d), (n)))
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/blast/blast.c: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 out[MAXWIN];  /* output buffer and sliding window */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/blast/blast.c:312: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.
    static const char extra[16] = {     /* extra bits for length codes */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/blast/blast.c:434: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.
    static unsigned char hold[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp:18:23:  [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).
gzfilebuf *gzfilebuf::open( const char *name,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp:24: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 char_mode[10];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp:66:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char char_mode[10];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp:270:27:  [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).
void gzfilestream_common::open( const char *name, int io_mode ) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp:272: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).
  if ( !buffer.open( name, io_mode ) )
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp:300:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  gzfilestream_common::open( name, io_mode );
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.cpp:320:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  gzfilestream_common::open( name, io_mode );
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.h:15: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).
  gzfilebuf *open( const char *name, int io_mode );
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream/zfstream.h:55:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  void open( const char *name, int io_mode );
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:55:40:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        izstream(FILE* fp) : m_fp(0) { open(fp); }
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:56:48:  [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).
        izstream(const char* name) : m_fp(0) { open(name); }
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:65: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).
        void open(const char* name) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:70: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).
        void open(FILE* fp) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:162:13:  [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).
            open(fp, level);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:166:13:  [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).
            open(name, level);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:177: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).
        void open(const char* name, int level = Z_DEFAULT_COMPRESSION) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:178: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 mode[4] = "wb\0";
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:186: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).
        void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:188: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 mode[4] = "wb\0";
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream_test.cpp:7: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 h[256] = "Hello";
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream_test.cpp:19:9:  [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).
    out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/test.cc:15: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[80];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/test.cc:17:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  outf.open("test1.txt.gz");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/test.cc:26:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  inf.open("test1.txt.gz");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/test.cc:33:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  outf.open("test2.txt.gz");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/test.cc:42:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  inf.open("test2.txt.gz");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:51:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
gzfilebuf::open(const char *name,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:62: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 char_mode[6] = "\0\0\0\0\0";
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:90:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char char_mode[6] = "\0\0\0\0\0";
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:384:9:  [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).
  this->open(name, mode);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:398:13:  [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).
gzifstream::open(const char* name,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:401:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if (!sb.open(name, mode | std::ios_base::in))
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:439:9:  [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).
  this->open(name, mode);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:453:13:  [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).
gzofstream::open(const char* name,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:456:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if (!sb.open(name, mode | std::ios_base::out))
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.h:66:3:  [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).
  open(const char* name,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.h:285:3:  [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).
  open(const char* name,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.h:374:3:  [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).
  open(const char* name,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/crypt.h:106: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 header[RAND_HEAD_LEN-2]; /* random header */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.c:18:36:  [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 FOPEN_FUNC(filename, mode) fopen(filename, mode)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.c:23:36:  [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 FOPEN_FUNC(filename, mode) fopen(filename, mode)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.c:113:16:  [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(filename, mode_fopen);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.h:49: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 fopen64 fopen
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.h:54: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 fopen64 fopen
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/ioapi.h:59:18:  [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 fopen64 fopen
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/iowin32.c:112:9:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
        MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/iowin32.c:137:9:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
        MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/iowin32.c:185:9:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
        MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:32:36:  [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 FOPEN_FUNC(filename, mode) fopen(filename, mode)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:209: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 number[21];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:248: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 filename_inzip[256];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:318: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_inzip[256];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:386: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 answer[128];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:541: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_try[MAXFILENAME+16] = "";
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:621:13:  [2] (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 string.
            strcat(filename_try,".zip");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:31:36:  [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 FOPEN_FUNC(filename, mode) fopen(filename, mode)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:36:36:  [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 FOPEN_FUNC(filename, mode) fopen(filename, mode)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:112: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[MAXFILENAME+1];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:258: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[WRITEBUFFERSIZE];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:366: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 newname[512];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:399: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_try[MAXFILENAME+16];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:479:13:  [2] (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 string.
            strcat(filename_try,".zip");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:494: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 answer[128];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:38: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* fpZip = fopen(file, "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:39: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* fpOut = fopen(fileOut, "wb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:40: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).
  FILE* fpOutCD = fopen(fileOutTmp, "wb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:44: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 header[30];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:45: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/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c: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 extra[1024];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:149:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
          char header[46];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:224:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      char header[22];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:257: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).
      fpOutCD = fopen(fileOutTmp, "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:260: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[8192];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h:600:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(file, &dir->_files[i], sizeof(tinydir_file));
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/unzip.c:1266: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 szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/unzip.c:1482: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 source[12];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:120: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 data[SIZEDATA_INDATABLOCK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:289: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[8];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:1246: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.
        unsigned char bufHead[RAND_HEAD_LEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:1980:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(pTmp, p, dataSize + 4);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:1994:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(pData, pNewHeader, size);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/puff/pufftest.c:70:33:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    in = name == NULL ? stdin : fopen(name, "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/puff/pufftest.c:105:34:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                skip = (unsigned)atoi(arg + 1);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/testzlib/testzlib.c:124: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).
    stream=fopen(filename, "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/testzlib/testzlib.c:175:27:  [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).
        BlockSizeCompress=atol(argv[2]);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/testzlib/testzlib.c:178:29:  [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).
        BlockSizeUncompress=atol(argv[3]);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/testzlib/testzlib.c:181:23:  [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).
        cprLevel=(int)atol(argv[4]);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:70:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char name[100];               /*   0 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:71: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 mode[8];                 /* 100 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:72: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 uid[8];                  /* 108 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:73: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 gid[8];                  /* 116 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:74: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 size[12];                /* 124 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:75: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 mtime[12];               /* 136 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:76: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 chksum[8];               /* 148 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:78:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char linkname[100];           /* 157 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:79: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 magic[6];                /* 257 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:80: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 version[2];              /* 263 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:81: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 uname[32];               /* 265 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:82: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 gname[32];               /* 297 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:83: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 devmajor[8];             /* 329 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:84: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 devminor[8];             /* 337 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:85: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 prefix[155];             /* 345 */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:91:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char               buffer[BLOCKSIZE];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:134: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.
  static char buffer[1024];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:194: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.
  static char result[32];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:197:3:  [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(result,"%4d/%02d/%02d %02d:%02d:%02d",
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:394: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   fname[BLOCKSIZE];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:482:33:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                      outfile = fopen(fname,"wb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:490:37:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                          outfile = fopen(fname,"wb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/crc32.c:143: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).
        out = fopen("crc32.h", "w");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/enough.c:476: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).
        syms = atoi(argv[1]);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/enough.c:478:20:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            root = atoi(argv[2]);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/enough.c:480: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).
                max = atoi(argv[3]);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/fitblk.c:76: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 raw[RAWLEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/fitblk.c:99: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 raw[RAWLEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:161: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.
unsigned char inbuf[SIZE];              /* input buffer */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:162: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.
unsigned char outbuf[SIZE];             /* output buffer */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:164: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.
unsigned char suffix[65536];            /* one-character LZW suffix */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:165: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.
unsigned char match[65280 + 2];         /* buffer for reversed match or gzip
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:559:18:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        infile = open(inname, O_RDONLY, 0);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:572:19:  [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).
        outfile = open(outname, O_CREAT | O_TRUNC | O_WRONLY, 0666);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:689: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(outname, *argv, len);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c:140: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(list, list + 1, len - 1);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c:270:13:  [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).
    gz.fd = open(name, O_RDWR, 0);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c:397: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(name, O_RDONLY, 0);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzjoin.c:108: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).
    in->fd = open(name, O_RDONLY, 0);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:290: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 id[4];     /* contains LOGID to detect inadvertent overwrites */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:353: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(log->end, ".lock");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:354:18:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    while ((fd = open(log->path, O_CREAT | O_EXCL, 0644)) < 0) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:376: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(log->end, ".lock");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:388: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(log->end, ".lock");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:400: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(log->end, ".lock");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:413: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[HEAD + EXTRA];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:440: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 ext[EXTRA];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:465: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[6];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:505: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[8];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:559: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(log->end, ".add");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:577: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(log->end, ".add");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:582: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(log->end, ".dict");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:587: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(log->end, ".temp");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:615: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[DICT];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:628: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(log->end, ".dict");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:629: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(log->path, O_RDONLY, 0);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:724: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(log->end, ".repairs");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:725:11:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    rec = fopen(log->path, "a");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:750: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(log->end, ".add");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:758:23:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            if ((fd = open(log->path, O_RDONLY, 0)) < 0) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:828: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(log->end, ".gz");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:829: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).
    log->fd = open(log->path, O_RDWR | O_CREAT, 0644);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:843: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(log->end, ".dict");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:913: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 *data, buf[5];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:952: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(log->end, ".add");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:953: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(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:962: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(log->end, ".temp");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:963: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(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:1013: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(log->end, ".add");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:1014: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(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:1056: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(log->id, "bad");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zpipe.c:41: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 in[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zpipe.c:42: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 out[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zpipe.c:97: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 in[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zpipe.c:98: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 out[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:71: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 window[WINSIZE];  /* preceding 32K of uncompressed data */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:127: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(next->window, window + WINSIZE - left, left);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:129: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(next->window + left, window, WINSIZE - left);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:151: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 input[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:152: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 window[WINSIZE];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:255: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 input[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:256: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 discard[WINSIZE];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:360: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[CHUNK];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:367: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).
    in = fopen(argv[1], "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzguts.h:47:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
#  define open _open
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:36: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.
    static char buf[1024];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:65: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(buf, "unknown win32 error (%ld)", error);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:245:9:  [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).
        open((const char *)path, oflag, 0666));
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:298: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(path, "<fd:%d>", fd);   /* for debugging */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:615:5:  [2] (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 string.
    strcat(state->msg, ": ");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzread.c:161: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(state->x.next, strm->next_in, strm->avail_in);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzread.c:325: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(buf, state->x.next, n);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzread.c:451: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[1];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzread.c:591: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(buf, state->x.next, n);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:213: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(state->in + have, buf, copy);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:309: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[1];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:444: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(state->in, state->in + state->size, left);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:543: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(state->in, state->in + state->size, left);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inflate.c:640: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 hbuf[4];      /* buffer for gzip header crc calculation */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/inflate.c:1405: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[4];       /* to restore bit buffer to byte string */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:98: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((char*)uncompr, "garbage");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:149: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((char*)uncompr, "garbage");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:245: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((char*)uncompr, "garbage");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:341: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((char*)uncompr, "garbage");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:420: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((char*)uncompr, "garbage");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:501: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((char*)uncompr, "garbage");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:392: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 dict[257];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:474: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 win[32768];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:530:5:  [2] (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 string.
    strcat(prefix, "-late");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:556:9:  [2] (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 string.
        strcat(prefix, "-back");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:83: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.
    static char buf[1024];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:112: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(buf, "unknown win32 error (%ld)", error);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:223:31:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                              fopen(path, gz->write ? "wb" : "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:242: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 out[BUFLEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:267: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 in[1];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:301: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 out[BUFLEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:366: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.
    local char buf[BUFLEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:434: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.
    local char buf[BUFLEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:461: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.
    local char outfile[MAX_NAME_LEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:477: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).
    in = fopen(file, "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:499: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.
    local char buf[MAX_NAME_LEN];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:534:11:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    out = fopen(outfile, "wb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:563: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 *bname, outmode[20];
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:568: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(outmode, "wb6 ");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:633:33:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                    FILE * in = fopen(*argv, "rb");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/trees.c:328: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).
    FILE *header = fopen("trees.h", "w");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.c:13:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
z_const char * const z_errmsg[10] = {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:49:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:109: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).
     fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:202:30:  [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 F_OPEN(name, mode) fopen((name), (mode))
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/zutil.h:226: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.
#    define zmemcpy memcpy
data/tcl8.7-8.7.0~a3+dfsg/generic/regc_color.c:194: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(newt->tcolor, t->tcolor, BYTTAB*sizeof(color));
data/tcl8.7-8.7.0~a3+dfsg/generic/regc_color.c:196: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(newt->tptr, t->tptr, BYTTAB*sizeof(union tree *));
data/tcl8.7-8.7.0~a3+dfsg/generic/regc_color.c:268: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(newCd, cm->cdspace,
data/tcl8.7-8.7.0~a3+dfsg/generic/regc_color.c:524:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(t->tptr, fillt->tptr, BYTTAB*sizeof(union tree *));
data/tcl8.7-8.7.0~a3+dfsg/generic/regc_nfa.c:2524:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(donemap, outerdonemap, nstates * sizeof(char));
data/tcl8.7-8.7.0~a3+dfsg/generic/regcomp.c:485:6:  [2] (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, v->subs, v->nsubs * sizeof(struct subre *));
data/tcl8.7-8.7.0~a3+dfsg/generic/regcomp.c:1923: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 idbuf[50];
data/tcl8.7-8.7.0~a3+dfsg/generic/regcomp.c:2117: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 idbuf[50];
data/tcl8.7-8.7.0~a3+dfsg/generic/regcomp.c:2188:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", t->id);
data/tcl8.7-8.7.0~a3+dfsg/generic/regcomp.c:2190:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%p", t);
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:66: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 convbuf[sizeof(unk)+50]; /* 50 = plenty for int */
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:77:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(convbuf, "%d", r->code); /* -1 for unknown */
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:81:10:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	icode = atoi(errbuf);	/* Not our problem if this fails */
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:90:6:  [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(convbuf, "REG_%u", (unsigned)icode);
data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c:270:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy((void*)(pmatch), (void*)(v->pmatch), n*sizeof(regmatch_t));
data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c:321: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).
    chr *open, *close;		/* Open and close of range of possible
data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c:361:43:  [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).
    MDEBUG(("between %ld and %ld\n", LOFF(open), LOFF(close)));
data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c:365:18:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    for (begin = open; begin <= close; begin++) {
data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c:467: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).
    chr *open, *close;		/* Open and close of range of possible
data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c:485:41:  [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).
	MDEBUG(("cbetween %ld and %ld\n", LOFF(open), LOFF(close)));
data/tcl8.7-8.7.0~a3+dfsg/generic/regexec.c:486: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).
	for (begin = open; begin <= close; begin++) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tcl.h:815: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 resultSpace[200+1];
data/tcl8.7-8.7.0~a3+dfsg/generic/tcl.h:934: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 staticSpace[TCL_DSTRING_STATIC_SIZE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tcl.h:1139:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char string[1];		/* String for key. The actual size will be as
data/tcl8.7-8.7.0~a3+dfsg/generic/tclAlloc.c:51: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 padding[TCL_ALLOCALIGN];	/* align struct to TCL_ALLOCALIGN bytes */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclAlloc.c:607:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(newPtr, oldPtr, numBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclAssembly.c:1946: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(curr_bb->foreignExceptions,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclAssembly.c:4197: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(envPtr->exceptArrayPtr + rangeIndex, range,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:639:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char c[sizeof(short)];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:645: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 mathFuncName[32];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.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(mathFuncName, "::tcl::mathfunc::", MATH_FUNC_PREFIX_LEN);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:1097: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(mathFuncName, "::tcl::mathop::", MATH_OP_PREFIX_LEN);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:1422: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[32 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:1426: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(buffer, "Assoc Data Key #%d", *assocDataCounterPtr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:3894: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(data->argTypes, argTypes, numArgs * sizeof(Tcl_ValueType));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:4496:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(cancelInfo->result, result, cancelInfo->length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:4783:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	const char *a[10];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:4794:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	const char *a[6]; int i[2];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:5081: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(newObjv+handlerObjc, objv, sizeof(Tcl_Obj *) * objc);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:6036:39:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		Tcl_FindHashEntry(iPtr->lineLAPtr, (char *) objv[i]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:6690: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[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:6703: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(buf, "%d", returnCode);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:8801:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char *a[10];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:108:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char HexDigits[16] = {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:113:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char UueDigits[65] = {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:125:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char B64Digits[65] = {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:274: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 bytes[1];	/* The array of bytes. The actual size of this
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:419:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(byteArrayPtr->bytes, bytes, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:651: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(copyArrayPtr->bytes, srcArrayPtr->bytes, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:672: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(copyArrayPtr->bytes, srcArrayPtr->bytes, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:840:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(byteArrayPtr->bytes + byteArrayPtr->used, bytes, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:1125: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(cursor, bytes, count);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:1127: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(cursor, bytes, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:1366:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_UTF_MAX + 1] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:1736:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_UTF_MAX + 1] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:1946:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(to, from, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:2540:34:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    datastart = data = (unsigned char *)
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:2618: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(cursor, wrapchar, wrapcharlen);	\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:2691:15:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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 d[3] = {0, 0, 0};
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:2883:34:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    datastart = data = (unsigned char *)
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:2898:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char d[4] = {0, 0, 0, 0};
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBinary.c:3047:34:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    datastart = data = (unsigned char *)
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.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 string[1];		/* Actual size of string will be as large as
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:64: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 low_guard[LOW_GUARD_SIZE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:68: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 body[1];		/* First byte of client's space. Actual size
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:118: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 dumpFile[100];	/* Records where to dump memory allocation
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:183: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/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:188: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(buf,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:355: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).
	fileP = fopen(fileName, "w");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:696: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(newPtr, ptr, copySize);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:730: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(newPtr, ptr, copySize);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:885: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).
	fileP = fopen(fileName, "w");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:922:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(curTagPtr->string, TclGetString(objv[2]), len + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:246: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 cmdName[50];		/* Buffer large enough to hold the string
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:292: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(cmdName, "::tcl::clock::", TCL_CLOCK_PREFIX_LEN);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:1055: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[8];		/* Buffer for time zone name */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:1108: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(buffer+1, "%02d", diff / 3600);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:1110: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(buffer+3, "%02d", diff / 60);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:1113:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buffer+5, "%02d", diff);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:1708: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(tmPtr, localtime(timePtr), sizeof(struct tm));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdIL.c:1271: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.
    static const char *const typeString[TCL_LOCATION_LAST] = {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c:782:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(args, parts, sizeof(Tcl_Obj*) * numParts);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c:1448: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[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmds.c:2298: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(dui2Ptr, dui1Ptr, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmds.c:3562: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(elemTokenPtr+1, varTokenPtr+2,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:902:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:905:8:  [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.
	len = sprintf(buf, "%d", len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:1562:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:3069: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[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:3134:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", matchCodes[i]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:3279: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[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:3346:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", matchCodes[i]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:1570: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(subExprTokenPtr, tokenPtr,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:1587: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(subExprTokenPtr, tokenPtr,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:2106: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 utfBytes[4];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:2108:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(utfBytes, start, numBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:1764: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 utfBuf[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:2412: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[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:2891: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, envPtr->codeStart, codeBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:2902:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, envPtr->exceptArrayPtr, exceptArrayBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:2910:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, envPtr->auxDataArrayPtr, auxDataArrayBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:3094:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(localPtr->name, name, nameBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:3149:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(newPtr, envPtr->codeStart, currBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:3216:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newPtr, envPtr->cmdMapPtr, currBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:3423:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newPtr, envPtr->exceptArrayPtr, currBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:3424:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newPtr2, envPtr->exceptAuxArrayPtr, currBytes2);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:3786:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newPtr, envPtr->auxDataArrayPtr, currBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.c:3875:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(newPtr, fixupArrayPtr->fixup, currBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.h:356: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 staticCodeSpace[COMPILEENV_INIT_CODE_BYTES];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.h:1828:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char n[35];						\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.h:1829:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(n, "/tmp/tclDTraceDebug-%lu.log",		\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompile.h:1831:22:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	tclDTraceDebugLog = fopen(n, "a");			\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:1130: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 const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:1342: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 yymsgbuf[128];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:2679: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 buff[20];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDictObj.c:505: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 localFlags[LOCAL_SIZE], *flagPtr = NULL;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:551: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 suffixBuffer[128];	/* Additional info to print after main opcode
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:576:3:  [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(suffixBuffer+strlen(suffixBuffer),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:583:6:  [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(suffixBuffer, "pc %u", pcOffset+opnd);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:589:3:  [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(suffixBuffer, "next cmd at pc %u", pcOffset+opnd);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:591:3:  [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(suffixBuffer, "pc %u", pcOffset+opnd);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:637: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(suffixBuffer, "temp var %u", (unsigned) opnd);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:639: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(suffixBuffer, "var ");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:840: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(dst, "inst_%" TCL_Z_MODIFIER "u", inst);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:1546: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 *) objv[3]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:1565:46:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	hPtr = Tcl_FindHashEntry(oPtr->methodsPtr, (char *) objv[3]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c: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 prefixBytes[256];	/* If a byte in the input stream is a lead
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.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 sequence[16];		/* Escape code that marks this encoding. */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:97: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];		/* Name for encoding. */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.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 init[16];		/* String to emit or expect before first char
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:111: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 final[16];		/* String to emit or expect after last char in
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:113: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 prefixBytes[256];	/* If a byte in the input stream is the first
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:1739: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 used[256];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2039: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 init[16], final[16];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2104: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(dataPtr->init, init, dataPtr->initLen + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2106: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(dataPtr->final, final, dataPtr->finalLen + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2109: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(dataPtr->subTables, Tcl_DStringValue(&escapeData),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2198:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(dst, src, srcLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:3524:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(dst, dataPtr->init, dataPtr->initLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:3601: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, subTablePtr->sequence,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:3642: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, dataPtr->subTables[0].sequence, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:3645:6:  [2] (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, dataPtr->final, dataPtr->finalLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:3845: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(*valuePtr, bytes, *lengthPtr + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnsemble.c:2182:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(store, iPtr->ensembleRewrite.sourceObjs,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:244:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newEnviron, environ, length * sizeof(char *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:287: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, name, nameLength);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:289: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+nameLength+1, value, valueLength+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:297: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, p2, Tcl_DStringLength(&envString) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:458: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(string, name, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:463: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(string, name, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:469: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(string, Tcl_DStringValue(&envString),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEvent.c:234:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(tempObjv, prefixObjv, prefixObjc*sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:1128:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(memStart, MEMSTART(markerPtr), moveWords*sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:2087: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 cmdNameBuf[21];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:5255: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[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:9970: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.
    static char buf[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclFileName.c:601:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, str, len+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclFileName.c:827:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(elemv+1, objv, objc*sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:652: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(result, "%d entries in table, %d buckets\n",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:656:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(p, "number of buckets with %d entries: %d\n",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:660: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(p, "number of buckets with %d or more entries: %d\n",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:663: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(p, "average search distance for entry: %.1f", average);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:814: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(hPtr->key.string, string, size);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:106: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];		/* Copy buffer, this must be the last
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:1779:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(tmp, "stdin");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:1784:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(tmp, "stdout");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:1789:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(tmp, "stderr");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4309:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char *dst, safe[BUFFER_PADDING];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4328:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(InsertPoint(bufPtr), safe, saved);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4368: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.
	    static char crln[3] = "\r\n";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4416:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(safe, dst + dstLen, saved);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4715:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		    char tmp[TCL_UTF_MAX];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:5096:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(byteArray + byteLen, dst, rawLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:5113: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(byteArray + byteLen, dst, rawLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:5408:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(nextPtr->buf + (BUFFER_PADDING - extra),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:5556: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(InsertPoint(bufPtr),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:5664:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(readBuf, RemovePoint(bufPtr), toCopy);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:6268:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char buffer[TCL_UTF_MAX + 1];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:6412:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(RemovePoint(nextPtr), src, srcLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:6518:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(dstStart, srcStart, srcLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:6675: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(InsertPoint(bufPtr), str, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7712: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 optionVal[128];	/* Buffer for sprintf. */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7819: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[4];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7821:3:  [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, "%c", statePtr->inEofChar);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7829: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[4];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7831:3:  [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, "%c", statePtr->outEofChar);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:9378:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(InsertPoint(bufPtr), InsertPoint(tail), extra);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:11292: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[20];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.h:47: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[1];		/* Placeholder for real buffer. The real
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOCmd.c:1960: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 *channelNames[2];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c:1366:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, r->buf, toRead);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c:1374:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, r->buf, toRead);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c:1383:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, r->buf, r->used);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c:1430: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(r->buf + r->used, buf, toWrite);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORChan.c:686:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(clonePtr, &tclRChannelType, sizeof(Tcl_ChannelType));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORChan.c:1381:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, bytev, bytec);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORChan.c:3065:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		    memcpy(paramPtr->input.buf, bytev, bytec);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORChan.c:3355: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(paramPtr->base.msgStr, msgStr, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:2610: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(paramPtr->transform.buf, bytev, bytec);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:2644: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(paramPtr->transform.buf, bytev, bytec);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:2673: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(paramPtr->transform.buf, bytev, bytec);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:2700: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(paramPtr->transform.buf, bytev, bytec);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:2813: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(paramPtr->base.msgStr, msgStr, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:3004: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(rPtr->buf + rPtr->used, buf, toWrite);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:3045:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, rPtr->buf, toRead);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:3054:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, rPtr->buf, toRead);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIORTrans.c:3065:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, rPtr->buf, rPtr->used);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOSock.c:318: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 portbuf[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOUtil.c:3026: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 *symbols[3];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOUtil.c:3109: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).
	return atoi(skipstr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:492: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(dupIndexRep, TclFetchIntRep(srcPtr, &indexType)->twoPtrValue.ptr1,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:1317:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(leftovers+nrem, objv+srcIndex, objc*sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:1369: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 tmp[TCL_DOUBLE_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:1419:6:  [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(tmp, "%g", *((double *) infoPtr->dstPtr));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInt.h:960: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];		/* Name of the local variable starts here. If
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInt.h:1968: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 resultSpace[TCL_DSTRING_STATIC_SIZE+1];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInt.h:1971: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 resultSpaceDontUse[TCL_DSTRING_STATIC_SIZE+1];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInt.h:4438:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy((objPtr)->bytes, (bytePtr) ? (bytePtr) : &tclEmptyString, (len)); \
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInt.h:4594: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(newPtr, staticPtr,				\
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:331: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[4];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:772:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:821:3:  [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, "interp%d", i);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:1834: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(cmdv, prefv, prefc * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:1835: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(cmdv+prefc, objv+1, (objc-1) * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:1883: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(cmdv, prefv, prefc * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:1884: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(cmdv+prefc, objv+1, (objc-1) * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:1973: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(cmdv, prefv, prefc * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:1974: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(cmdv+prefc, objv+1, (objc-1) * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:4027: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(&iPtr->limit.time, timeLimitPtr, sizeof(Tcl_Time));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:4111: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(timeLimitPtr, &iPtr->limit.time, sizeof(Tcl_Time));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclInterp.c:4437:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&slavePtr->limit.time, &masterPtr->limit.time,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:534: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 bytes[sizeof(Tcl_WideUInt)];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:893:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(*pp, value, valueLength);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:903:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, value, (size_t) valueLength);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:904:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->addr, value, (size_t) valueLength);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:917:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, value, (size_t) valueLength);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:918:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->addr, value, (size_t) valueLength);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1251:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(linkPtr->addr, linkPtr->lastValue.aryPtr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1285:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1298:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1311:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1324:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1337:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1350:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1363:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1376:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1389:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1403:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1416:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1430:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1443:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1466:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLink.c:1476:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(linkPtr->lastValue.aryPtr, linkPtr->addr, linkPtr->bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclListObj.c:789:6:  [2] (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, numElems * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclListObj.c:1167: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(elemPtrs, oldPtrs, first * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclListObj.c:1188: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(elemPtrs + first + objc, oldPtrs + start,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclListObj.c:2133: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 localFlags[LOCAL_SIZE], *flagPtr = NULL;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:769:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(newArrayPtr, currArrayPtr, currBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1134: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(result, "%d entries in table, %d buckets\n",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1138:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(p, "number of buckets with %" TCL_Z_MODIFIER "u entries: %" TCL_Z_MODIFIER "u\n",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1142: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(p, "number of buckets with %d or more entries: %d\n",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1145: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(p, "average search distance for entry: %.1f", average);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoad.c:129: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 *symbols[2];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoad.c:407:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(pkgPtr->fileName, fullFileName, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoad.c:410:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(pkgPtr->packageName, Tcl_DStringValue(&pkgName), len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclMain.c:304:31:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    TclpFindExecutable((const char *)argv[0]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:791: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(nsPtr->name, simpleName, nameLen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:879: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(nsPtr->fullName, name, nameLen + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:1472: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(patternCpy, pattern, len + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOO.c:652:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char objName[10 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOO.c:654:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(objName, "::oo::Obj%d", ++fPtr->tsdPtr->nsCount);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOO.c:2083:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(cls2Ptr->superclasses.list, clsPtr->superclasses.list,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOCall.c:1041:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(callPtr->chain, callPtr->staticChain,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOCall.c:2091:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(definePtr->list, staticList,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOODefineCmds.c:405:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(oPtr->mixins.list, mixins, sizeof(Class *) * numMixins);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOODefineCmds.c:462:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(classPtr->mixins.list, mixins, sizeof(Class *) * numMixins);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOODefineCmds.c:748:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newObjv + 1, objv + 2, sizeof(Tcl_Obj *) * (objc - 2));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOODefineCmds.c:1848:52:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    hPtr = Tcl_CreateHashEntry(oPtr->methodsPtr, (char *) objv[i],
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOODefineCmds.c:2161:52:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	    hPtr = Tcl_CreateHashEntry(oPtr->methodsPtr, (char *) objv[i],
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInfo.c:255:49:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    hPtr = Tcl_FindHashEntry(oPtr->methodsPtr, (char *) objv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInfo.c:366:49:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    hPtr = Tcl_FindHashEntry(oPtr->methodsPtr, (char *) objv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInfo.c:662:49:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    hPtr = Tcl_FindHashEntry(oPtr->methodsPtr, (char *) objv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInfo.c:1000:54:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    hPtr = Tcl_FindHashEntry(&clsPtr->classMethods, (char *) objv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInfo.c:1198:54:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    hPtr = Tcl_FindHashEntry(&clsPtr->classMethods, (char *) objv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInfo.c:1414:54:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    hPtr = Tcl_FindHashEntry(&clsPtr->classMethods, (char *) objv[2]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOInt.h:674:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(((target).list=(type*)ckalloc(len)), (source).list, len); \
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOMethod.c:1351: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(pm2Ptr, pmPtr, sizeof(ProcedureMethod));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOMethod.c:1627: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(argObjs, rewriteObjs, rewriteLength * sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOMethod.c:1628: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(argObjs + rewriteLength, objv + toRewrite,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclObj.c:601: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(&clLocPtr->loc, loc, num*sizeof(int));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclObj.c:1781: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(objPtr->bytes, bytes, numBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclObj.c:2214: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 lowerCase[6];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:793: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[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:926: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 utfBytes[TCL_UTF_MAX];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:928:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(utfBytes, p, numBytes - 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:2153:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char utfCharBytes[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPathObj.c:1664:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(result, orig, len+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.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 name[1];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:114:26:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    ((v) = ckalloc(len), memcpy((v),(s),(len)))
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:2203:2:  [2] (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 string.
	strcat(reqi, " -2");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:2228:2:  [2] (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 string.
	strcat(min, " -2");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:2247:2:  [2] (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 string.
	strcat(min, " -2");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:2248:2:  [2] (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 string.
	strcat(max, " -2");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclProc.c:656:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(localPtr->name, argname, fieldValues[0]->length + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclProc.c:1729:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	const char *a[10];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclProc.c:1742:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	const char *a[6]; int i[2];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.c:70: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 *patterns[NUM_REGEXPS];/* Strings corresponding to compiled regular
data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.c:722: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];		/* ample in practice */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.c:723: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 cbuf[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.c:732: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(cbuf, "%d", status);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.c:1001: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(tsdPtr->patterns[0], string, length + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResolve.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(resPtr->name, name, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:441:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iPtr->result, result, length+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclScan.c:264: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[TCL_UTF_MAX + 1] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStrToD.c:2196:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(retval, "Infinity");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStrToD.c:2202:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(retval, "NaN");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStrToD.c:4924: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(buffer, "NaN");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStrToD.c:4945:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buffer, "(%" TCL_LL_MODIFIER "x)", bitwhack.iv);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:1113: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(stringPtr->unicode, unicode, numChars * sizeof(Tcl_UniChar));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:1776: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.
    static const char *const badIndex[2] = {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:2044: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[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:2377: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 spec[2*TCL_INTEGER_SPACE + 9], *p = spec;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:2403:8:  [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.
		p += sprintf(p, "%d", width);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:2410:8:  [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.
		p += sprintf(p, "%d", precision);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:3232: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, more);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:3283: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, more * sizeof(Tcl_UniChar));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:3331: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, more);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:3956: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(bytes + first, iBytes, count);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:4127:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(copyStringPtr->unicode, srcStringPtr->unicode,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:979: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 *listArgv[4], *cmd;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:980: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 string[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.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[30];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1238:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%p", (void *)token);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1607: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[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1790:6:  [2] (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, &(objv[1]->internalRep.doubleValue), sizeof(double));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1889:6:  [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(s, "This is a malloc-ed string");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1893:6:  [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(s, "This is a specially-allocated string");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1999:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(encodingPtr->toUtfCmd, string, length + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2003:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(encodingPtr->fromUtfCmd, string, length + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2055:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(dst, Tcl_GetStringResult(encodingPtr->interp), len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2087:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(dst, Tcl_GetStringResult(encodingPtr->interp), len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2432:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2435: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(buf, "odd %d\n", (int)PTR2INT(clientData));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2446: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[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2449: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(buf, "even %d\n", (int)PTR2INT(clientData));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2481: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[4 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2494: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(buf, ": %ld", exprResult);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2524: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[4 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2536: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(buf, ": %ld", exprResult);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2566: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[4 + TCL_DOUBLE_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2579: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(buf, ": ");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2610: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[4 + TCL_DOUBLE_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2622: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(buf, ": ");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2757: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.
    res = (char *) Tcl_GetAssocData(interp, argv[1], NULL);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2885: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[2*TCL_DOUBLE_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4035: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 resinfo[TCL_INTEGER_SPACE * 2];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4039:6:  [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(resinfo, "%d %d", start, end-1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4049: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 resinfo[TCL_INTEGER_SPACE * 2];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4053:6:  [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(resinfo, "%ld", info.extendStart);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4290:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    oldData = (char *) Tcl_GetAssocData(interp, argv[1], &procPtr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4856: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 newString[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4955:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(newString, "%d", 12345);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:5088: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.
    p = (const unsigned char *)Tcl_GetStringFromObj(objv[1], &n);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:5137:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(objPtr->bytes, s, objPtr->length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:5175:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    p = (const char *)Tcl_GetByteArrayFromObj(objv[1], &n);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:5331:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(buf, "free result");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:5551: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[TCL_INTEGER_SPACE];/* For sprintf. */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:6259: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).
        statePtr->testFlags = atoi(argv[3]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:6364:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buffer[64];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:6365:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buffer, "%d", idx);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:6368:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buffer, "%d", target);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:7190:42:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        idata[0] = Tcl_NewIntObj((int) ((char *) data[1] - (char *) data[0]));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:7190:61:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        idata[0] = Tcl_NewIntObj((int) ((char *) data[1] - (char *) data[0]));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:7191:42:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        idata[1] = Tcl_NewIntObj((int) ((char *) data[2] - (char *) data[0]));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:7191:61:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        idata[1] = Tcl_NewIntObj((int) ((char *) data[2] - (char *) data[0]));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:7192:61:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        idata[2] = Tcl_NewIntObj((int) ((char *) &none   - (char *) data[0]));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestObj.c:1176: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 *index, *string, *strings[MAX_STRINGS+1];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestObj.c:1512:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[32 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestObj.c:1514:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "variable %d is unset (NULL)", varIndex);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTestProcBodyObj.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 buf[128];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:62: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 padding[TCL_ALLOCALIGN];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:510:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(newPtr, ptr, reqSize);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:660: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[200];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:670:6:  [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, "thread%p", cachePtr->owner);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:674:6:  [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, "%lu %ld %ld %ld %ld %ld %ld",
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:820:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    ((unsigned char *)(ptr))[reqSize] = MAGIC;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:837:20:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    if (((unsigned char *) ptr)[blockPtr->blockReqSize] != MAGIC) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadAlloc.c:840: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 *) ptr)[blockPtr->blockReqSize]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:372: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[20];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:374:6:  [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, "%" TCL_LL_MODIFIER "d", id);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:653: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 *errorInfo, *argv[3];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c: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 buf[TCL_DOUBLE_SPACE+1];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:657: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(buf, "%p", Tcl_GetCurrentThread());
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTimer.c:306: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(&timerHandlerPtr->time, timePtr, sizeof(Tcl_Time));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:25: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 command[1];		/* Space for Tcl command to invoke. Actual
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:59: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 command[1];		/* Space for Tcl command to invoke. Actual
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:306:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(copyObjv+1, objv, objc*sizeof(Tcl_Obj *));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:318:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char ops[5];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:486:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(tcmdPtr->command, command, length+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:719:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(tcmdPtr->command, command, length+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:924:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(ctvarPtr->traceCmdInfo.command, command, length+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:1693: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(commandCopy, command, numChars);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:1927:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(tcmdPtr->startCmd, command, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtf.c:62:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const unsigned char totalBytes[256] = {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:908:6:  [2] (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, element, elSize);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:1443:6:  [2] (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, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:1461:6:  [2] (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, src, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.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 localFlags[LOCAL_SIZE], *flagPtr = NULL;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:1657: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[4] = "";
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2052:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, element, elemLength);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2756:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newString, dsPtr->string, dsPtr->length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2779: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(dsPtr->string + dsPtr->length, bytes, length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2859:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newString, dsPtr->string, dsPtr->length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2953:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(newString, dsPtr->string, dsPtr->length);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3109:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(dsPtr->string, iPtr->result, dsPtr->length+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3122:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(dsPtr->string, iPtr->result, dsPtr->length+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3299:6:  [2] (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, "-Inf", 5);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3301:6:  [2] (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, "Inf", 4);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3382:6:  [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(dst, "e%+d", exponent);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3384:6:  [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(dst, "e%+03d", exponent);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3641: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.
	return sprintf(buffer, "%" TCL_LL_MODIFIER "d", n);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:4387: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(pgvPtr->value, bytes, pgvPtr->numBytes + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:4451:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(pgvPtr->value, Tcl_DStringValue(&newValue),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:206: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 passBuf[264];	/* Password buffer */
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:288:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char pwrot[17] =
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:735:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path, root, i);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:737:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path + i, tail, j);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:741:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path, root, i);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:742:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path + i, tail, j);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:748:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(path, tail, j);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:754:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path, ZIPFS_VOLUME, ZIPFS_VOLUME_LEN);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:755:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path + ZIPFS_VOLUME_LEN + i , tail, j);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:759:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path, root, i);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:761:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(path + i, tail, j);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1057:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(zf->passBuf + 1, q - 5 - i, i);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1293: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(zf->name, zipname, zf->nameLength + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1774:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(zf->data, data, datalen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2034: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 *pw, passBuf[264];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2109: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 obuf[4096];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2181: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 + ZIP_LOCAL_HEADER_LEN, zpath, zpathlen);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2191:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	unsigned char abuf[8];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2208:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	unsigned char kvbuf[24];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3181: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 dllName[(MAX_PATH + LIBRARY_SIZE) * TCL_UTF_MAX];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3392:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, info->zipFilePtr->data, toRead);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3418:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, info->ubuf + info->numRead, toRead);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3463: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(info->ubuf + info->numRead, buf, toWrite);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3621: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 cname[128];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3718:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(info->ubuf, z->data, j);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3725: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 passBuf[260];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3801:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(info->ubuf, zbuf, z->numBytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3826: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 passBuf[260];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:3942: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(cname, "zipfs_%" TCL_LL_MODIFIER "x_%d", z->offset,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:4300: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(pat, path, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:4308: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(pat + len, pattern, l + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:52: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 nativeFilenameBuf[MAXPATHLEN];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:53: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 nativeCommentBuf[MAX_COMMENT_LEN];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:249: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 codeStrBuf[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:291:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(codeStrBuf, "%lu", adler);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:312:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(codeStrBuf, "%d", code);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:1522: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(dataPtr + dataPos, itemPtr + zshPtr->outPos, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:1531: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(dataPtr + dataPos, itemPtr + zshPtr->outPos, len);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:3357:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[12];
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:3365:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%lu", crc);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:3754:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, src, toRead);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:3765:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, Tcl_DStringValue(&cd->decompressed), have);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:3796: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[MAXBUF];
data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_is_square.c:7:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char rem_128[128] = {
data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_is_square.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.
static const char rem_105[105] = {
data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_rand_platform.c:94:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      fd = open(MP_DEV_URANDOM, O_RDONLY);
data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXFCmd.c:358:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		int fd = open(Tcl_DStringValue(&ds), O_WRONLY | O_TRUNC);
data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXFCmd.c:655:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char bytes[4] = {'\0','\0','\0','\0'};
data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXFCmd.c:657:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(bytes, Tcl_DStringValue(&ds), Tcl_DStringLength(&ds));
data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXFCmd.c:700: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 src[5];
data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXNotify.c:229:16:  [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).
	notifierLog = fopen(NOTIFIER_LOG, "a");				\
data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXNotify.c:1836: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[2];
data/tcl8.7-8.7.0~a3+dfsg/tools/man2tcl.c:98: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[MAX_LINE_SIZE];
data/tcl8.7-8.7.0~a3+dfsg/tools/man2tcl.c:108: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(argv[1], "r");
data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkgb.c:64:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/unix/dltest/pkgb.c:65:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", Tcl_GetErrorLine(interp));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclKqueueNotfy.c:711:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:88: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 errbuf[BUFSIZ];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:132:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(errbuf, "calloc: ");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:150:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(errbuf, "dlopen: ");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:152:2:  [2] (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 string.
	strcat(errbuf, ": ");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:160: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 *tmp[BUFSIZ/sizeof(char *)], **p;
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:183:2:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
	strcpy(errbuf, "loadbind: ");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:251:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    switch (atoi(s)) {		/* INTL: "C", UTF safe. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:253:2:  [2] (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 string.
	strcat(errbuf, "to many errors");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:256:2:  [2] (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 string.
	strcat(errbuf, "can't load library");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:260:2:  [2] (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 string.
	strcat(errbuf, "can't find symbol");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:264:2:  [2] (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 string.
	strcat(errbuf, "bad RLD");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:268:2:  [2] (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 string.
	strcat(errbuf, "bad exec format in");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:272:26:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
	strcat(errbuf, strerror(atoi(++p)));	/* INTL: "C", UTF safe. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:301: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(errbuf, "dlsym: undefined symbol ");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:525:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char tmpsym[SYMNMLEN+1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:563: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(errbuf, "readExports: ");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:619: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(errbuf, "findMain: ");
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadNext.c:58: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 *files[2];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadNext.c:139:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char sym[strlen(symbol) + 2];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclSelectNotfy.c:932: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[2];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:921:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(&iostate, &fsPtr->initState, sizeof(struct termios));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:988: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[3*TCL_INTEGER_SPACE + 16];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1062:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d,%c,%d,%d", tty.baud, tty.parity, tty.data, tty.stop);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1108:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", inBuffered+inQueue);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1110:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", outBuffered+outQueue);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1149:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", ws.ws_col);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1151:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d", ws.ws_row);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1633: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 channelName[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1706:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(channelName, "serial%d", fd);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1712:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(channelName, "file%d", fd);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1771: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 channelName[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1786:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(channelName, "serial%d", fd);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:1796:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(channelName, "file%d", fd);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c:59: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 pbuf[2048];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c:68: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 gbuf[2048];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c:73: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 hbuf[2048];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c:916:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, src[j], sz);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c:957:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, src, len);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:371:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char srcPath[MAXPATHLEN], dstPath[MAXPATHLEN];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:494:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char linkBuf[MAXPATHLEN+1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:970: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 *paths[2] = {NULL, NULL};
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:1956: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 normPath[MAXPATHLEN];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:2211:7:  [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).
	fd = mkstemp(Tcl_DStringValue(&template));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:45: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[PATH_MAX * 2];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c: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[PATH_MAX * TCL_UTF_MAX + 1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:710: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[MAXPATHLEN+1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:764: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[MAXPATHLEN+1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:809: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 link[MAXPATHLEN];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:974:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char link[MAXPATHLEN];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:1120: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(nativePathPtr, Tcl_DStringValue(&ds), len);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:1161: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(copy, clientData, len);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:41:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char *const processors[NUMPROCESSORS] = {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:71:3:  [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 szCSDVersion[128];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:94: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 defaultLibraryDir[sizeof(TCL_LIBRARY)+200] = TCL_LIBRARY;
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:102: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 pkgPath[sizeof(TCL_PACKAGE_PATH)+200] = TCL_PACKAGE_PATH;
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:364:2:  [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).
	open("/dev/null", O_RDONLY);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:367:2:  [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).
	open("/dev/null", O_WRONLY);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:370:2:  [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).
	open("/dev/null", O_WRONLY);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:474:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char installLib[LIBRARY_SIZE];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:517:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char tclLibPath[MAXPATHLEN + 1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:541: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(*valuePtr, str, *lengthPtr + 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:741: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 loc[256];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:772: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[TCL_INTEGER_SPACE * 2];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:780: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 tclLibPath[MAXPATHLEN + 1];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixInit.c:881: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(buffer, "%d.%d", osInfo.dwMajorVersion, osInfo.dwMinorVersion);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:17:14:  [2] (race) vfork:
  On some old systems, vfork() permits race conditions, and it's very
  difficult to use correctly (CWE-362). Use fork() instead.
#define fork vfork
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:410: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 errSpace[200 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:478:6:  [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(errSpace,
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:493:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(errSpace, "%dcouldn't execute \"%.150s\"", errno, argv[0]);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:745: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 channelName[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:785: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(channelName, "file%d", channelId);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPort.h:85:23:  [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 TclOSopen		open
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPort.h:103:48:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    __declspec(dllimport) extern __stdcall int MultiByteToWideChar(int, int, const char *, int,
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.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 host[NI_MAXHOST], port[NI_MAXSERV];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:244: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(node, u.nodename, dot - u.nodename);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:273: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[SYS_NMLEN];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:275: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[256];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:287:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(*valuePtr, native, *lengthPtr + 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:773: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 host[NI_MAXHOST], nhost[NI_MAXHOST], nport[NI_MAXSERV];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1379: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1479: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1529: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1780: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1781: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 host[NI_MAXHOST], port[NI_MAXSERV];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:1812:46:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                newSockState->channel, host, atoi(port));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTest.c:140: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[4000];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTest.c:187:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE * 2];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTest.c:193:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d %d", pipePtr->readCount, pipePtr->writeCount);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTest.c:262:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixThrd.c:165: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 nabuf[16];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixThrd.c:822: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(tsdPtr->nabuf, "%u.%u.%u.%u", b[0], b[1], b[2], b[3]);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTime.c:383: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(&tsdPtr->gmtime_buf, gmtime(timePtr), sizeof(struct tm));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTime.c:423: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(&tsdPtr->localtime_buf, localtime(timePtr), sizeof(struct tm));
data/tcl8.7-8.7.0~a3+dfsg/win/cat.c:26: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/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:54: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[STATICBUFFERSIZE];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:69: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 msg[300];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:201: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 msg[300];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:204: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 cmdline[100];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:244:5:  [2] (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. Risk is low because the source is a constant string.
    lstrcpy(cmdline, "cl.exe -nologo -c -TC -Zs -X -Fp.\\_junk.pch ");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:256:5:  [2] (buffer) lstrcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Risk is low because the source is a constant string.
    lstrcat(cmdline, " .\\nul");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:336: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 msg[300];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:340: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 cmdline[255];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:380:5:  [2] (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. Risk is low because the source is a constant string.
    lstrcpy(cmdline, "link.exe -nologo ");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:387:2:  [2] (buffer) lstrcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Risk is low because the source is a constant string.
	lstrcat(cmdline, " \"");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:507: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.
    static char szBuffer[100];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:509:16:  [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 *fp = fopen(filename, "rt");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:540: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(szBuffer, p, q - p);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:615: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.
    static char szBuffer[1024], szCopy[1024];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:620: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(filename, "rt");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:627: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).
	sp = fopen(substitutions, "rt");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:674:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		    memcpy(szBuffer, szCopy, sizeof(szCopy));
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:709: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 szCwd[MAX_PATH + 1];
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.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 path[MAX_PATH+1];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinChan.c:854: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 channelName[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinChan.c:1074: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 channelName[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinChan.c:1382: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(channelName, "file%" TCL_Z_MODIFIER "x", (size_t) infoPtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.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 buffer[CONSOLE_BUFFER_SIZE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:681:6:  [2] (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, &infoPtr->buffer[infoPtr->offset], bufSize);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:685:6:  [2] (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, &infoPtr->buffer[infoPtr->offset], bufSize);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:792:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(infoPtr->writeBuf, buf, toWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1314: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 encoding[4 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1341: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(channelName, "file%" TCL_Z_MODIFIER "x", (size_t) infoPtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1563: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[TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1626:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d",
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1629:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(buf, "%d",
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinError.c:394:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_MAX_WARN_LEN * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinError.c:398:2:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
	MultiByteToWideChar(CP_UTF8, 0, buf, -1, msgString, TCL_MAX_WARN_LEN);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinError.c:405:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(msgString + (TCL_MAX_WARN_LEN - 5), L" ...", 5 * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFCmd.c:1925: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[40 * 4];		/* There couldn't be more than 30 drives??? */
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFCmd.c:2044:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char tempbuf[SUFFIX_LENGTH + 1];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:386: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(nativeTarget, L"\\??\\", 4 * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:387: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(nativeTarget + 4, linkTargetPath,
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:419:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(reparseBuffer->MountPointReparseBuffer.PathBuffer, nativeTarget,
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:599:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		    char driveSpec[3] = {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:812: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[TCL_MAX_WARN_LEN * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:819:5:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    MultiByteToWideChar(CP_UTF8, 0, buf, -1, msgString, TCL_MAX_WARN_LEN);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:827:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(msgString + (TCL_MAX_WARN_LEN - 5), L" ...", 5 * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:871: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[MAX_PATH * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:1550:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[MAX_PATH];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:3106:8:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
	len = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, -1, 0, 0);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:3120:5:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, -1, nativePathPtr,
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:3147:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	    memcpy(wp, L"\\\\?\\", 4 * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:3161:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(wp, L"\\\\?\\UNC", 7 * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:3215: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(copy, clientData, len);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:92:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char *const processors[NUMPROCESSORS] = {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:189: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 installLib[LIBRARY_SIZE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:230: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(*valuePtr, bytes, length);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:260: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[MAX_PATH * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:349: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[(MAX_PATH + LIBRARY_SIZE) * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:368: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(*valuePtr, name, *lengthPtr + 1);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:397: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[(MAX_PATH + LIBRARY_SIZE) * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:412: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(end + 1, "../library");
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:416: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(*valuePtr, name, *lengthPtr + 1);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:507: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[TCL_INTEGER_SPACE * 2];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:641: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(nameUpper, name, length+1);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinLoad.c:387:5:  [2] (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. Risk is low because the source is a constant string.
    wcscpy(name+nameLen, L"TCLXXXXXXXX");
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPanic.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 buf[TCL_MAX_WARN_LEN * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPanic.c:46:5:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    MultiByteToWideChar(CP_UTF8, 0, buf+3, -1, msgString, TCL_MAX_WARN_LEN);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPanic.c:53:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(msgString + (TCL_MAX_WARN_LEN - 5), L" ...", 5 * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:944: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 execPath[MAX_PATH * 3];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1265: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[2];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1765: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 channelName[16 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1825: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(channelName, "file%" TCL_Z_MODIFIER "x", (size_t) infoPtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:2308:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(infoPtr->writeBuf, buf, toWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:3219:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(namePtr, Tcl_DStringValue(&buf), Tcl_DStringLength(&buf));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:3226:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(namePtr, baseStr, length);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:3234:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char number[TCL_INTEGER_SPACE + 4];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:3236:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(number, "%d.TMP", counter);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:3241:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(namePtr, Tcl_DStringValue(&buf), Tcl_DStringLength(&buf) + 1);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:1489: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 id[TCL_INTEGER_SPACE], msgBuf[24 + TCL_INTEGER_SPACE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:1501:2:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
	sprintf(msgBuf, "unknown error: %ld", error);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:1527: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(id, "%ld", error);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1035:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(infoPtr->writeBuf, buf, toWrite);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1471: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(channelName, "file%" TCL_Z_MODIFIER "x", (size_t) infoPtr);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1557:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE + 1];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1911: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).
	    inSize = atoi(argv[0]);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1914: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).
	    inSize  = atoi(argv[0]);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1915: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).
	    outSize = atoi(argv[1]);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:2086:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[2 * TCL_INTEGER_SPACE + 16];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:2118:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE + 1];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:2134:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE + 1];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:2155:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_UTF_MAX];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:2194:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[TCL_INTEGER_SPACE + 1];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:326: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 host[NI_MAXHOST], port[NI_MAXSERV];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:401: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(*valuePtr, Tcl_DStringValue(&ds), *lengthPtr + 1);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:1304: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 host[NI_MAXHOST], port[NI_MAXSERV];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2060: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2145: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2209: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2410: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 channelName[SOCK_CHAN_LENGTH];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2411: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 host[NI_MAXHOST], port[NI_MAXSERV];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:2456: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).
			    host, atoi(port));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTest.c:190: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 volType[VOL_BUF_SIZE];
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinTime.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 tzName[64];		/* Time zone name */
data/tcl8.7-8.7.0~a3+dfsg/compat/mkstemp.c:41:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int fd, count, alphanumericsLen = strlen(alphanumerics); /* == 62 */
data/tcl8.7-8.7.0~a3+dfsg/compat/mkstemp.c:43:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    a = tmpl + strlen(tmpl);
data/tcl8.7-8.7.0~a3+dfsg/compat/opendir.c:75:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    dirp->dd_size = read(dirp->dd_fd, dirp->dd_buf, DIRBLKSIZ);
data/tcl8.7-8.7.0~a3+dfsg/compat/opendir.c:90:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(dir.d_name, dp->od_name, ODIRSIZ);
data/tcl8.7-8.7.0~a3+dfsg/compat/opendir.c:92: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).
	dir.d_namlen = strlen(dir.d_name);
data/tcl8.7-8.7.0~a3+dfsg/compat/string.h:46:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
extern size_t		strlen(const char *string);
data/tcl8.7-8.7.0~a3+dfsg/compat/string.h:48:16:  [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.
extern char *		strncat(char *dst, const char *src, size_t numChars);
data/tcl8.7-8.7.0~a3+dfsg/compat/string.h:50:16:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
extern char *		strncpy(char *dst, const char *src, size_t numChars);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/blast/blast.c:458:12:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while (getchar() != EOF)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:87:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        int read(void* buf, size_t len) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:115:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
inline int read(izstream& zs, T* x, Items items) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream2/zstream.h:278: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).
    val.byte = 255;  val.word = ::strlen(x);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:146:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(c_mode, "w");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:148:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(c_mode, "a");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:150:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(c_mode, "w");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:152:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(c_mode, "r");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:160:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (strlen(c_mode) == 0)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/iostream3/zfstream.cc:163:5:  [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(c_mode, "b");
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:143: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).
  int  len = (int)strlen(newdir);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:390:27:  [1] (buffer) scanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
                    ret = scanf("%1s",answer);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/miniunz.c:609:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(filename_try, zipfilename,MAXFILENAME-1);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:113: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).
    int len = strlen(f);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:117:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(name, f,MAXFILENAME-1);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:469:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(filename_try, argv[zipfilenamearg],MAXFILENAME-1);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:473: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).
        len=(int)strlen(filename_try);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:497:27:  [1] (buffer) scanf:
  It's unclear if the %s limit in the format string is small enough
  (CWE-120). Check that the limit is sufficiently small, or use a different
  input function.
                    ret = scanf("%1s",answer);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/minizip.c:542:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                  (strlen(argv[i]) == 2)))
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:151: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).
          int comsize = (int) strlen(comment);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/mztools.c:226: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).
      int comsize = (int) strlen(comment);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h:70:26:  [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 _tinydir_strlen _tcslen
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/tinydir.h:79:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
# define _tinydir_strlen strlen
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/unzip.c:1249:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:962:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  uInt size_filename = (uInt)strlen(filename);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:1101:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        size_comment = (uInt)strlen(comment);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:1103: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).
    size_filename = (uInt)strlen(filename);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/minizip/zip.c:1870:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    size_global_comment = (uInt)strlen(global_comment);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:138: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).
  origlen = strlen(buffer);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:332: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).
  int  len = strlen(buffer);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:440:15:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
              strncpy(fname,buffer.header.name,SHORTNAMESIZE);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/contrib/untgz/untgz.c:514: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).
              if (fname[BLOCKSIZE-1] != 0 || (int)strlen(fname) > remaining)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:103:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret = (int)read(me->infile, next, ret);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gun.c:669: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).
                len = (int)strlen(*argv);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c:184:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    len = read(in->fd, in->buf, 1 << in->size);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c:356:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read(gz.fd, gz.buf, 1) != 1) bye("reading after seek on ", name);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c:375:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read(gz.fd, gz.buf, 1) != 1) bye("reading after seek on ", name);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzappend.c:411:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        len = read(fd, in, CHUNK);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzjoin.c:131:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        len = (long)read(in->fd, in->buf + in->left, CHUNK - in->left);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzjoin.c:183:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if (read(in->fd, in->buf, 1) != 1)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:416:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read(log->fd, buf, HEAD + EXTRA) != HEAD + EXTRA ||
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:477:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                      read(log->fd, buf, 1) != 1))
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:583: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).
    dest = malloc(strlen(log->path) + 1);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:631:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            dict = read(fd, buf, DICT);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:646:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            read(log->fd, buf, 1) != 1 || lseek(log->fd, -1, SEEK_CUR) < 0) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:678:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            read(log->fd, buf, 1) != 1)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:762:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            ret = (size_t)read(fd, data, len) != len;
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:882:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    n = strlen(path);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:939:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if (read(log->fd, buf, 5) != 5)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/gzlog.c:943:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read(log->fd, (char *)data + next, block) != block)
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/examples/zran.c:281:15:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret = getc(in);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzguts.h:48:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#  define read _read
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:199: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((const char *)path);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:605:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) ==
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:605:60:  [1] (buffer) strlen:
  Does not handle 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 ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) ==
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:611:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    (void)snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzlib.c:611:54:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    (void)snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzread.c:35:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ret = read(state->fd, buf + *have, get);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:370: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(str);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:426: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(next);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/gzwrite.c:524: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(next);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:93: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).
    uLong len = (uLong)strlen(hello)+1;
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:123:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int len = (int)strlen(hello)+1;
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:180:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen((char*)uncompr) != 7) { /* " hello!" */
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:206: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).
    uLong len = (uLong)strlen(hello)+1;
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:381: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).
    uInt len = (uInt)strlen(hello)+1;
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/example.c:480: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).
    c_stream.avail_in = (uInt)strlen(hello)+1;
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:250: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).
    in = malloc((strlen(hex) + 1) >> 1);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/infcover.c:525:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    prefix = malloc(strlen(id) + 6);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:465:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(file) + strlen(GZ_SUFFIX) >= sizeof(outfile)) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:465: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).
    if (strlen(file) + strlen(GZ_SUFFIX) >= sizeof(outfile)) {
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:503:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    unsigned len = strlen(file);
data/tcl8.7-8.7.0~a3+dfsg/compat/zlib/test/minigzip.c:505: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).
    if (len + strlen(GZ_SUFFIX) >= sizeof(buf)) {
data/tcl8.7-8.7.0~a3+dfsg/generic/regc_locale.c:838:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (strlen(cn->name)==len && strncmp(cn->name, np, len)==0) {
data/tcl8.7-8.7.0~a3+dfsg/generic/regc_locale.c:1016:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if ((strlen(*namePtr) == len) && (strncmp(*namePtr, np, len) == 0)) {
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:109: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(msg) + 1;	/* Space needed, including NUL */
data/tcl8.7-8.7.0~a3+dfsg/generic/regerror.c:114:6:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	    strncpy(errbuf, msg, errbuf_size-1);
data/tcl8.7-8.7.0~a3+dfsg/generic/regfronts.c:52: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).
	len = strlen(str);
data/tcl8.7-8.7.0~a3+dfsg/generic/regfronts.c:79: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).
	len = strlen(str);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:2887: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).
	length = strlen(argv[i]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:5461: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).
	numBytes = strlen(script);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclBasic.c:8761: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).
    const char *tail = name + strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCkalloc.c:919: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).
	len = strlen(TclGetString(objv[2]));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclClock.c:2044: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).
	tzWas = ckalloc(strlen(tzIsNow) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c:3191: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).
	length2 = strlen(tclDefaultTrimSet);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c:3238: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).
	length2 = strlen(tclDefaultTrimSet);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c:3284: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).
	length2 = strlen(tclDefaultTrimSet);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c:3942: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 patternLength = strlen(pattern);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCmdMZ.c:5342:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int i, length = strlen(listStr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmds.c:1602: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).
    nameChars = strlen(argv[0]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmds.c:1604: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).
    nameChars = strlen(argv[1]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:1276: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).
	PushLiteral(envPtr, tclDefaultTrimSet, strlen(tclDefaultTrimSet));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:1304: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).
	PushLiteral(envPtr, tclDefaultTrimSet, strlen(tclDefaultTrimSet));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:1332: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).
	PushLiteral(envPtr, tclDefaultTrimSet, strlen(tclDefaultTrimSet));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:3136: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).
	PushLiteral(envPtr, buf, strlen(buf));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompCmdsSZ.c:3348: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).
	PushLiteral(envPtr, buf, strlen(buf));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:1845: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).
	numBytes = (start ? strlen(start) : 0);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:2586:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ParseLexeme(occdPtr->op, strlen(occdPtr->op), &lexeme, NULL);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:2642: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).
	ParseLexeme(occdPtr->op, strlen(occdPtr->op), &lexeme, NULL);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclCompExpr.c:2718:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    ParseLexeme(occdPtr->op, strlen(occdPtr->op), &lexeme, NULL);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclConfig.c:86: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).
	cdPtr->encoding = ckalloc(strlen(valEncoding)+1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclConfig.c:134: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).
		Tcl_NewByteArrayObj((unsigned char *)cfg->value, strlen(cfg->value)));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:1030:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
#   define yystrlen strlen
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:2576:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(buff) == 3) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:2578:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    } else if (strlen(buff) == 4 && buff[3] == '.') {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDate.c:2615:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = strlen(buff) - 1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:576: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).
		sprintf(suffixBuffer+strlen(suffixBuffer),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:841: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).
	(void) Tcl_InitStringRep(objPtr, NULL, strlen(dst));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclDisassemble.c:844:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	unsigned int len = strlen(s);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:1100:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	encodingPtr->lengthProc = (LengthProc *) strlen;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:1124:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    name = ckalloc(strlen(typePtr->encodingName) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:1371: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).
	srcLen = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:1460: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).
	srcLen = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2066:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(init, argv[1], sizeof(init));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2069:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(final, argv[1], sizeof(final));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2075:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(est.sequence, argv[1], sizeof(est.sequence));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2077:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		est.sequenceLen = strlen(est.sequence);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2079:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(est.name, argv[0], sizeof(est.name));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2103: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).
    dataPtr->initLen = strlen(init);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEncoding.c:2105: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).
    dataPtr->finalLen = strlen(final);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:255: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).
	nameLength = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclEnv.c:285: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).
    valueLength = strlen(value);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:2796:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(cmdNameBuf, TclGetString(objv[0]), 20);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:2928:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(cmdNameBuf, TclGetString(objv[0]), 20);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:4400:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		    strlen(currNsPtr->fullName));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:4568:8:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
			    strncpy(cmdNameBuf, TclGetString(objv[0]), 20);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:4670:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(cmdNameBuf, TclGetString(objv[0]), 20);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclExecute.c:4753:3:  [1] (buffer) strlen:
  Does not handle 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(oPtr->namespacePtr->fullName));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclFileName.c:896: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).
	Tcl_SetObjLength(prefix, length + (int) strlen(p));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclFileName.c:932: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).
	Tcl_SetObjLength(prefix, length + (int) strlen(p));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclFileName.c:1898: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).
	if (TclFSNonnativePathType(tail, (int) strlen(tail), NULL,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclGet.c:49: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).
    obj.length = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclGet.c:93: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).
    obj.length = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclGet.c:137: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).
    obj.length = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:654: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).
    p = result + strlen(result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:658:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	p += strlen(p);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:662: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).
    p += strlen(p);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclHash.c:808: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).
    allocsize = size = strlen(string) + 1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:1665: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).
	unsigned len = strlen(chanName) + 1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4026: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).
	srcLen = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4075: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).
	srcLen = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:4134: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).
	len = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:5291:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read:
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:5399:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		goto read;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:6269:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		int read, decoded, count;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:6286:4:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		&read, &decoded, &count);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:6292:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			bufPtr->nextRemoved += read;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7755: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).
	len = strlen(optionName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7978: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(optionName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:7993: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).
	len = strlen(newValue);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIO.c:10436: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).
    chanNameLen = strlen(chanName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c:620:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int gotBytes, read, copied;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c:698:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (read < 0) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIOGT.c:748:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (ExecuteCallback(dataPtr, NULL, A_READ, UCHARP(buf), read,
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:463: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).
    Tcl_InitStringRep(objPtr, indexStr, strlen(indexStr));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:973: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).
		elemLen = strlen(elementStr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:1384: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).
	length = strlen(infoPtr->keyStr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclIndexObj.c:1401:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	numSpaces = width + 1 - strlen(infoPtr->keyStr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:415:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	length = (bytes ? strlen(bytes) : 0);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1061:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    strlen(name), -1, NULL, nsPtr, 0, NULL);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1136: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).
    p = result + strlen(result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1140:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	p += strlen(p);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLiteral.c:1144: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).
    p += strlen(p);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoad.c:405: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).
	len = strlen(fullFileName) + 1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclLoad.c:988:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	pkgPtr->packageName	= ckalloc(strlen(pkgName) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclMain.c:874:4:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			strlen(DEFAULT_PRIMARY_PROMPT));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:717: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).
	nameStr = name + strlen(name) - 2;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:789: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).
    nameLen = strlen(simpleName) + 1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:1470: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(pattern);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:1636:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(pattern) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:3058: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).
	unsigned int length = strlen(nsPtr->fullName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:3451: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).
	int length = strlen(namespacePtr->fullName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclNamesp.c:4951: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).
	    length = strlen(command);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOCall.c:656: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).
    return TclpUtfNcmp2(*strPtr1, *strPtr2, strlen(*strPtr1) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclOOMethod.c:970:6:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    strlen(varName), contextNs, &rPtr);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclObj.c:2576: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).
    (void) Tcl_InitStringRep(objPtr, NULL, strlen(dst));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:229: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).
	numBytes = strlen(start);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:1339: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).
	numBytes = strlen(start);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:1621: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).
	numBytes = strlen(start);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:1819: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).
	numBytes = strlen(start);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclParse.c:2438: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).
    return CommandComplete(script, (int) strlen(script));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPathObj.c:651: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)(length - strlen(extension)));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPathObj.c:689:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			(int) (length - strlen(extension)));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPathObj.c:1088:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    Tcl_SetObjLength(res, length + (int) strlen(strElt));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:117:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	size_t local__len = strlen(s) + 1; \
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:831:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	pkgName = ckalloc(sizeof(PkgName) + strlen(name));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:1675:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    char *ibuf = ckalloc(4 + 4*strlen(string));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclPkg.c:2294:47:  [1] (buffer) strlen:
  Does not handle 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 (0 != strncmp(version, actualVersion, strlen(version))) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclProc.c:725: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).
	obj.length = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclRegexp.c:158:62:  [1] (buffer) strlen:
  Does not handle 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 (Tcl_RegExp) CompileRegexp(interp, pattern, (int) strlen(pattern),
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResolve.c:105: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(name) + 1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:432: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).
	int length = strlen(result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:599: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).
	length = strlen(iPtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:822:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	iPtr->appendUsed = strlen(iPtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclResult.c:830:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	iPtr->appendUsed = strlen(iPtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStrToD.c:2234:5:  [1] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant character.
    strcpy(retval, "0");
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:277: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).
	length = (bytes? strlen(bytes) : 0);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:330: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).
	length = (bytes? strlen(bytes) : 0);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:817: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).
	length = (bytes? strlen(bytes) : 0);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:1162:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	length = (bytes ? strlen(bytes) : 0);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:1175: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).
		: Tcl_UtfPrev(bytes+limit+1-strlen(ellipsis), bytes) - bytes;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:1199: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).
	AppendUtfToUnicodeRep(objPtr, ellipsis, strlen(ellipsis));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclStringObj.c:1201:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	AppendUtfToUtfRep(objPtr, ellipsis, strlen(ellipsis));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:865:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	asyncPtr->command = ckalloc(strlen(argv[2]) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:1656: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).
    dPtr->deleteCmd = ckalloc(strlen(argv[3]) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2051: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(Tcl_GetStringResult(encodingPtr->interp));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2083: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(Tcl_GetStringResult(encodingPtr->interp));
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2436: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/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:2450: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/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:3117: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).
		stringVar = ckalloc(strlen(argv[5]) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:3224: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).
		stringVar = ckalloc(strlen(argv[5]) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4282: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).
    buf = ckalloc(strlen(argv[2]) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:4335: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).
    length = strlen(argv[1]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:5560: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(cmdName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:6030: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(cmd);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTest.c:6233: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(cmdName);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:438: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).
	errorProcString = ckalloc(strlen(proc) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:598:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    threadEvalScript = ckalloc(strlen(ctrlPtr->script) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:844:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    threadEventPtr->script = ckalloc(strlen(script) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1045:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	resultPtr->result = ckalloc(strlen(result) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1048: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).
	    resultPtr->errorCode = ckalloc(strlen(errorCode) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1052: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).
	    resultPtr->errorInfo = ckalloc(strlen(errorInfo) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclThreadTest.c:1202: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).
	    resultPtr->result = ckalloc(strlen(msg) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclTrace.c:1923:19:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    size_t len = strlen(command) + 1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtf.c:582: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).
	length = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtf.c:637: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).
	length = strlen(src);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtf.c:1070:39:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	result = TclParseBackslash(src, (int)strlen(src), &numRead, dst);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2001: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).
	bytesNeeded += strlen(argv[i]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2026: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).
	elemLength = strlen(argv[i]);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:2741: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).
	length = strlen(bytes);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclUtil.c:3102:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    dsPtr->length = strlen(iPtr->result);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclVar.c:4735: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).
	    p += strlen(p)-1;
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:727:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    i = strlen(root);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:728:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    j = strlen(tail);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1238: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).
	pwlen = strlen(passwd);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1275:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    zf = attemptckalloc(sizeof(ZipFile) + strlen(mountPoint) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1290: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).
    zf->mountPointLen = strlen(zf->mountPoint);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1291: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).
    zf->nameLength = strlen(zipname);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1449: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).
		Tcl_DStringSetLength(&ds, strlen(z->name) + 8);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1665:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if ((strlen(passwd) > 255) || strchr(passwd, 0xff)) {
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1674:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    zf = attemptckalloc(sizeof(ZipFile) + strlen(mountPoint) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:1755:43:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    zf = attemptckalloc(sizeof(ZipFile) + strlen(mountPoint) + 1);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2041: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(pw);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2124:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    zpathlen = strlen(zpath);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2476: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).
	pwlen = strlen(pw);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2650: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).
	len = strlen(passBuf);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2668:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	slen = strlen(strip);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2679:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		len = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2708:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		len = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:2726: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).
	len = strlen(z->name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:4234:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		    size_t lenz = strlen(z->name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:4298:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    l = strlen(pattern);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZipfs.c:4394:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		size_t lenz = strlen(z->name);
data/tcl8.7-8.7.0~a3+dfsg/generic/tclZlib.c:3242:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	TclNewStringObj(compDictObj, value, strlen(value));
data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_fread.c:14:13:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   int ch = fgetc(stream);
data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_fread.c:17:12:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ch = fgetc(stream);
data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_mp_fread.c:50:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
   } while ((ch = fgetc(stream)) != EOF);
data/tcl8.7-8.7.0~a3+dfsg/libtommath/bn_s_mp_rand_platform.c:99:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ssize_t ret = read(fd, p, n);
data/tcl8.7-8.7.0~a3+dfsg/macosx/tclMacOSXNotify.c:1965:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    i = read(receivePipe, buf, 1);
data/tcl8.7-8.7.0~a3+dfsg/tools/man2tcl.c:145: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(line) >= MAX_LINE_SIZE -1) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclEpollNotfy.c:781:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		i = read(tsdPtr->triggerEventFd, &eventFdVal,
data/tcl8.7-8.7.0~a3+dfsg/unix/tclEpollNotfy.c:793:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		i = read(tsdPtr->triggerPipe[0], &triggerPipeVal,
data/tcl8.7-8.7.0~a3+dfsg/unix/tclKqueueNotfy.c:814:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		i = read(tsdPtr->triggerPipe[0], buf, 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:137: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).
    mp->name = malloc(strlen(path) + 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:540:6:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	    strncpy(tmpsym, ls->l_name, SYMNMLEN);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadAix.c:544:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	ep->name = malloc(strlen(symname) + 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclLoadNext.c:139:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	char sym[strlen(symbol) + 2];
data/tcl8.7-8.7.0~a3+dfsg/unix/tclSelectNotfy.c:1072:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    i = read(receivePipe, buf, 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:280:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bytesRead = read(fsPtr->fd, buf, (size_t) toRead);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:654: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(optionName);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:655: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).
    vlen = strlen(value);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:808: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 (Tcl_UtfNcasecmp(argv[i], "DTR", strlen(argv[i])) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:814: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).
	    } else if (Tcl_UtfNcasecmp(argv[i], "RTS", strlen(argv[i])) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:820: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).
	    } else if (Tcl_UtfNcasecmp(argv[i], "BREAK", strlen(argv[i])) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixChan.c:995: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).
	len = strlen(optionName);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c:910: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 = (elsize<0 ? (int) strlen(src[j]) + 1 : elsize);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixCompat.c:953: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).
	len = strlen(src) + 1;
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:377: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).
		&& (strncmp(srcPath, dstPath, strlen(srcPath)) != 0)) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:615:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	nread = (size_t) read(srcFd, buffer, blockSize);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:721:12:  [1] (access) umask:
  Ensure that umask is given most restrictive possible setting (e.g., 066 or
  077) (CWE-732).
    mode = umask(0);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:722:5:  [1] (access) umask:
  Ensure that umask is given most restrictive possible setting (e.g., 066 or
  077) (CWE-732).
    umask(mode);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:1766:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(modeStringPtr) != 9) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFCmd.c:2059: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).
	    newNormLen = strlen(normPath);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:49: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).
    length = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:723:24:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	char *newCd = ckalloc(strlen(buffer) + 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:1112:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(Tcl_DStringValue(&ds)) < len - sizeof(char)) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixFile.c:1158: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((const char*) clientData) + 1) * sizeof(char);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:480: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(errSpace);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:494: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).
	len = strlen(errSpace);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:527:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    count = read(fd, errSpace, (size_t) (sizeof(errSpace) - 1));
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixPipe.c:1062:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bytesRead = read(GetFd(psPtr->inFile), buf, (size_t) toRead);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:285: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).
	*lengthPtr = strlen(native);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixSock.c:859: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).
	len = strlen(optionName);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTest.c:248:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        while (read(GetFd(pipePtr->readFile), buffer, 4000) > 0) {
data/tcl8.7-8.7.0~a3+dfsg/unix/tclUnixTime.c:581: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).
	lastTZ = ckalloc(strlen(newTZ) + 1);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclXtNotify.c:31:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    XtInputId read;		/* Xt read callback handle. */
data/tcl8.7-8.7.0~a3+dfsg/unix/tclXtNotify.c:386:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	    XtRemoveInput(filePtr->read);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclXtNotify.c:465:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	XtRemoveInput(filePtr->read);
data/tcl8.7-8.7.0~a3+dfsg/unix/tclXtNotify.c:507:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (*id == filePtr->read) {
data/tcl8.7-8.7.0~a3+dfsg/win/cat.c:38: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).
    _write(2, err, (unsigned int)strlen(err));
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:389:2:  [1] (buffer) lstrcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Risk is low because the source is a constant
  character.
	lstrcat(cmdline, "\"");
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:525: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).
		p += strlen(match);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:671: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).
		    op += strlen(p->key);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:733: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).
    dirlen = strlen(dir);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:736:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(path, dir, dirlen);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:737:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
    strncpy(path+dirlen, "\\*", 3);	/* Including terminating \0 */
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:738: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).
    keylen = strlen(keypath);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:763: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).
	sublen = strlen(finfo.cFileName);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:766:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(path+dirlen+1, finfo.cFileName, sublen);
data/tcl8.7-8.7.0~a3+dfsg/win/nmakehlp.c:768:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(path+dirlen+1+sublen+1, keypath, keylen+1);
data/tcl8.7-8.7.0~a3+dfsg/win/tclAppInit.c:275: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).
	    + (_tcslen(cmdLine) * sizeof(TCHAR)) + sizeof(TCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinChan.c:1563: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).
    int i, len = wcslen(p);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1463: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).
    int len = strlen(optionName);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1464:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int vlen = strlen(value);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinConsole.c:1568: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).
	len = strlen(optionName);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:393:49:  [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).
		    Tcl_DStringAppend(&dString, (char *)name, wcslen(name) * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:430:40:  [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).
    riPtr->name = (WCHAR *) Tcl_Alloc((wcslen(actualName) + 1) * sizeof(WCHAR));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:788:41:  [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).
		    Tcl_WCharToUtfDString(utilString, wcslen(utilString), &ds);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:847:40:  [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).
	    Tcl_WCharToUtfDString(utilString, wcslen(utilString), &ds);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:852: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).
		Tcl_WCharToUtfDString(utilString, wcslen(utilString), &ds2);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:1039:34:  [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).
	    Tcl_WCharToUtfDString(name, wcslen(name), &dString);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:1149:28:  [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).
	Tcl_WCharToUtfDString(sz, wcslen(sz), &dString);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:1154:28:  [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).
	Tcl_WCharToUtfDString(sz, wcslen(sz), &dString);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinDde.c:1532:41:  [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).
	    Tcl_WCharToUtfDString(serviceName, wcslen(serviceName), &dsBuf);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFCmd.c:1280:8:  [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).
	len = wcslen(data.cFileName) * sizeof(WCHAR);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:388:24:  [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).
	   sizeof(WCHAR) * (1+wcslen((WCHAR *) linkTargetPath)));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:389:11:  [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).
    len = wcslen(nativeTarget);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:413:6:  [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).
	    wcslen(nativeTarget) * sizeof(WCHAR);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:1879:15:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int len = wcslen(path);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:2750:12:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
				(int) (wcslen(nativeName)*sizeof(WCHAR)));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:3087:9:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (strlen(str) != (size_t) len) {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinFile.c:3212:28:  [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).
    len = sizeof(WCHAR) * (wcslen((const WCHAR *) clientData) + 1);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:271: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).
    for (shortlib = (char *) &lib[strlen(lib)-1]; shortlib>lib ; shortlib--) {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:273:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    if ((size_t)(shortlib - lib) == strlen(lib) - 1) {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:365: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).
    *lengthPtr = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:413: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).
    *lengthPtr = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:460: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).
    Tcl_DStringSetLength(bufPtr, strlen(Tcl_DStringValue(bufPtr)));
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinInit.c:639: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).
    length = strlen(name);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPanic.c:59:35:  [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).
	WriteConsoleW(handle, msgString, wcslen(msgString), &dummy, 0);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPanic.c:62: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).
	WriteFile(handle, buf, strlen(buf), &dummy, 0);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1266:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    DWORD attr, read;
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1332:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	ReadFile(hFile, (void *) &header, sizeof(header), &read, NULL);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:1367:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	ReadFile(hFile, (void *) buf, 2, &read, NULL);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinPipe.c:3239:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	Tcl_UtfToWCharDString(number, strlen(number), &buf);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:838:32:  [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).
	    Tcl_WCharToUtfDString(wp, wcslen(wp), &buf);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:851:64:  [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).
	Tcl_WCharToUtfDString((const WCHAR *)Tcl_DStringValue(&data), wcslen(wp), &buf);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinReg.c:1507:33:  [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).
	Tcl_WCharToUtfDString(tMsgPtr, wcslen(tMsgPtr), &ds);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1635: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(optionName);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1636: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).
    vlen = strlen(value);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1842:38:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    if (strncasecmp(argv[i], "DTR", strlen(argv[i])) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1854: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).
	    } else if (strncasecmp(argv[i], "RTS", strlen(argv[i])) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:1866:47:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	    } else if (strncasecmp(argv[i], "BREAK", strlen(argv[i])) == 0) {
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSerial.c:2052: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).
	len = strlen(optionName);
data/tcl8.7-8.7.0~a3+dfsg/win/tclWinSock.c:1337: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).
	len = strlen(optionName);

ANALYSIS SUMMARY:

Hits = 1505
Lines analyzed = 362555 in approximately 9.28 seconds (39053 lines/second)
Physical Source Lines of Code (SLOC) = 208190
Hits@level = [0] 455 [1] 362 [2] 908 [3]  61 [4] 158 [5]  16
Hits@level+ = [0+] 1960 [1+] 1505 [2+] 1143 [3+] 235 [4+] 174 [5+]  16
Hits/KSLOC@level+ = [0+] 9.41448 [1+] 7.22897 [2+] 5.49018 [3+] 1.12878 [4+] 0.835775 [5+] 0.0768529
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.