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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/db.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/dl.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/gdbm.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/gdbm1.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/gdbm2.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/hello.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/iconv.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/intl.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/m.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/m2.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/m3.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/m4.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/m5.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/m6.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/nsl.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/p.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/release.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/socket.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/w.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/w2.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/alarm.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/cd_pwd.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/cflow.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/enum.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/getopts.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/misc.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/mkservice.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/regress.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/sleep.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/test.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/trap.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/typeset.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/ulimit.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/umask.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/whence.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/hist.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/aliases.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/keywords.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/limits.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/msg.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/options.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/signals.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/strdata.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/testops.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/variables.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/builtins.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/hexpand.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/argnod.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/builtins.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/defs.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/env.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/fault.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/fcin.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/history.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/io.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/lexstates.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/name.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/national.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/nval.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/path.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/regress.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shell.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shlex.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shnodes.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shtable.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/streval.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/test.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/timeout.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/ulimit.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/variables.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/version.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/jobs.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/terminal.h Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/mamstate.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/args.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/bash.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/defs.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/deparse.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/env.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/expand.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/fault.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/pmain.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/shcomp.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/streval.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/string.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/subshell.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/tdump.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/timers.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/trestore.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/waitevent.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/arith.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c Examining data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/fcin.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-sem.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/asohdr.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/asolock.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/asometh.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/asorelax.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/aso.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/aso.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast_common.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ccode.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/debug.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/error.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/error.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/hashkey.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/option.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/optlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/strdup.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/strmatch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/times.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/vmalloc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/vmalloc.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/cdtlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtclose.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtcomp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtdisc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dthash.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dthdr.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtlist.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtmethod.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtnew.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtstrhash.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtview.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtwalk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/atexit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/basename.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/catopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/closelog.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/creat64.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/dirname.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/dup2.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/eaccess.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/errno.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execlp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execve.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execvp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execvpe.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fakelink.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fcntl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsg.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fnmatch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fnmatch.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/frexp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/frexpl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fsync.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/ftw.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/ftw.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getdate.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getgroups.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getlogin.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getopt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getopt.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getoptl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getpgrp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getsubopt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getwd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/gross.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/gross_sgi.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/hsearch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/killpg.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/libgen.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/link.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/localeconv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/lstat.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memccpy.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memchr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcpy.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memmove.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memset.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mkdir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mkfifo.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mknod.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mount.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/nftw.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/openlog.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/putenv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/re_comp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/re_comp.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/readlink.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/realpath.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regcmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regexp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regexp.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/remove.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/rename.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/resolvepath.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/rmdir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setenv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlogmask.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setpgid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setsid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/sigflag.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/sigunblock.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/spawnveg.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/statvfs.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strcasecmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strchr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strftime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strncasecmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strptime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strrchr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strstr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strtod.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strtol.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strtold.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strtoll.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strtoul.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/strtoull.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/swab.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/symlink.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/sysloglib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/system.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tempnam.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/transition.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tsearch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/unlink.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/unsetenv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/vfork.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/waitpid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/wc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/wordexp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/wordexp.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tmpnam.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/dirlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/dirstd.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/getdents.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/opendir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/readdir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/rewinddir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/seekdir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/telldir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/memfatal.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcdio.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcdos.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcfilter.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdchdr.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcprefix.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcseekable.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcslow.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcsubstr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdctee.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcunion.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfkeyprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfstrtmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/align.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/botch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/fcntl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/limits.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/map.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/mode.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/sfinit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/signal.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashalloc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashdump.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashfree.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlast.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashscan.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashsize.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashview.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashwalk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/memhash.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/memsum.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/strhash.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/strkey.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/strsum.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/aso.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_dir.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_getopt.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_windows.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ccode.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/cdt.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/cmdarg.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/debug.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/dt.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/error.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/find.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/fnv.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/fs3d.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/fts.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ftwalk.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/glob.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/hash.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/hashkey.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/hashpart.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ip6.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ls.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/magic.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/magicid.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/mc.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/mime.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/mnt.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/modecanon.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/modex.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/namval.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/option.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/proc.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/recfmt.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/regex.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/sfdisc.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/sfio.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/sfio_s.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/sfio_t.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/shcmd.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/stack.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/stak.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/stk.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/swap.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/times.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tm.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tok.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/usage.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vdb.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vecargs.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vmalloc.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/wait.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/astintercept.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/conformance.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/debug.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/error.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/errorf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/errormsg.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/errorx.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fmtrec.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fs3d.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/ftwalk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/ftwflags.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/glob.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/intercepts.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mimelib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mimetype.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optctx.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optesc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optjoin.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procclose.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procfree.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/proclib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procrun.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/recfmt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/reclen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/recstr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/setenviron.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/sigcrit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/sigdata.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/signal.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/stack.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/state.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/stk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/systrace.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/univdata.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/univlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/obsolete/spawn.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathaccess.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathbin.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcat.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcheck.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathexists.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathfind.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathgetlink.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprog.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathrepl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathsetlink.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathshell.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathstat.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astcopy.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astdynamic.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astmath.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astquery.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/aststatic.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/atmain.C Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/iblocks.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lcgen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lclang.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lclib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/touch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astwinsize.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/getpreroot.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/ispreroot.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/realopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/setpreroot.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regalloc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcache.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regclass.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcoll.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regdecomp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regerror.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regexec.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regfatal.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/reginit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/reglib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regrecord.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regrexec.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regstat.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regsub.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regsubcomp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regsubexec.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfclrerr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfdlen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfeof.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sferror.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sffileno.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfgetc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfgetl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfgetl2.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfgetu.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfgetu2.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfllen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfputc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfputd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfputl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfputm.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfputu.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfslen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfstacked.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfulen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfvalue.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfclose.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfclrlock.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfcvt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfdisc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfdlen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfecvt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfexcept.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfextern.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sffcvt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sffilbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfflsbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfgetd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfgetl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfgetm.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfgetr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfgetu.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfllen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmode.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmove.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmutex.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfnew.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfnotify.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfnputc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpeek.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpkrd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpoll.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpool.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfprints.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpurge.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputl.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputm.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputu.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfraise.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfrd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfread.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfreserve.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfresize.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfseek.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfset.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfsetbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfsetfd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfsize.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfsk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfstack.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfstrtod.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfstrtof.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfswap.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfsync.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftell.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfungetc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfwalk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfwr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfwrite.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/vthread.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/bytesex.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/dirent.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/endian.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/iconv.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/nl_types.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/stdio.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/wchar.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/std/wctype.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_doprnt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_doscan.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_filbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_flsbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdfun.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdsprnt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdvbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdvsnprnt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdvsprnt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdvsscn.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/asprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/clearerr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fclose.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fcloseall.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fdopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/feof.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/ferror.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fflush.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fgetc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fgetpos.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fgets.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fgetwc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fgetws.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fileno.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/flockfile.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fmemopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fpurge.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fputc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fputs.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fputwc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fputws.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fread.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/freopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fseek.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fseeko.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fsetpos.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/ftell.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/ftello.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/ftrylockfile.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/funlockfile.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwide.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwrite.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getchar.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getdelim.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getline.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getw.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getwc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getwchar.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/pclose.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/popen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/printf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/putc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/putchar.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/puts.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/putw.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/putwc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/putwchar.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/rewind.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/scanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/setbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/setbuffer.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/setlinebuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/setvbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/snprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/sprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/sscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/stdhdr.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/stdio_c99.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/swprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/swscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/tmpfile.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/ungetc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/ungetwc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vasprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfwprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfwscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsnprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vswprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vswscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vwprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vwscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/wprintf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/wscanf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/base64.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/ccmap.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/ccmapid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/ccnative.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/chresc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/chrtoi.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtbase.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtbuf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtclock.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtelapsed.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmterror.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtesc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfmt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfs.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtgid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtident.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtint.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtip4.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtip6.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtls.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtmatch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtmode.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtnum.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtperm.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtre.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtscale.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtsignal.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmttime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmttmx.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmttv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtuid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtversion.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/memdup.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/modedata.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/modei.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/modelib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/modex.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/stracmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strcopy.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strdup.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strelapsed.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strerror.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/stresc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/streval.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strexpr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strgid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strlcat.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strlcpy.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strlook.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strmatch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strmode.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strnacmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strncopy.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strnpcmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strntod.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strntol.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strntold.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strntoll.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strnton.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strntonll.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strntoul.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strntoull.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strnvcmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/stropt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strpcmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strperm.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strpsearch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strsearch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strsort.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtoi.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtoip4.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtoip6.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strton.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtonll.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/struid.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/struniq.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strvcmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/swapget.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/swapmem.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/swapop.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/swapput.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/tok.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/tokline.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/tokscan.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/wc2utf8.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtdev.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmdata.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmdate.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmequiv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmfix.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmfmt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmform.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmgoff.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmleap.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlex.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmmake.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmpoff.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmscan.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmsleep.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmtime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmtype.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmweek.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmword.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxdate.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxduration.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxfmt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxgettime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxleap.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxmake.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxscan.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxsettime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxsleep.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxtime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxtouch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmzone.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvcmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvgettime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvsettime.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvsleep.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/a64l.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/acosh.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/asinh.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/atanh.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/cbrt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/erf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/err.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/exp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/exp__E.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/expm1.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/gamma.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/getpass.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/lgamma.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/log.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/log1p.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/log__L.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/mathimpl.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c Parsing failed to find end of parameter list; semicolon terminated it in (stderr, catgets(_libc_cat, NetMiscSet, NetMiscTrying, "Trying %s...\n"), #else fprintf(stderr, "Trying %s...\n", #endif inet_ntoa(sin.sin_addr)); continue; } pe Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rint.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rlib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/support.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vec/vecargs.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vec/vecfile.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vec/vecfree.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vec/vecload.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vec/vecstring.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmbest.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmclear.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmclose.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdcheap.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdisc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmexit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmgetmem.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmhdr.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmlast.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmpool.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmprivate.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmprofile.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmregion.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmsegment.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmset.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmstat.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmstrdup.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmwalk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/basename.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cat.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chgrp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chown.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cksum.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cmd.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cmdinit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cmp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/comm.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cut.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/date.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/dirname.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/expr.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fds.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fmt.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fold.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fts_fix.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fts_fix.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/id.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/join.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/lib.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/ln.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/logname.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/md5sum.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkdir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkfifo.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mktemp.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mv.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/paste.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/pathchk.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/pids.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rev.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rev.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/revlib.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rm.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rmdir.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/stty.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/sum.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/sync.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/tee.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/tty.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uniq.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/vmstate.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/wc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/wc.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/wclib.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/head.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chmod.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/tail.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coclose.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/codata.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coexec.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coexport.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coinit.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cokill.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/colib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coquote.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coshell.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/costash.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cosync.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cowait.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/procrun.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/system.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllcheck.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllerror.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllfind.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlllib.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlllook.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllnext.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllopen.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllplug.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-ast4.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-att.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-bsd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-crc.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-lmd.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-prng.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha1.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha2.c Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum.h Examining data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sumlib.c FINAL RESULTS: data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:185:3: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. chmod(oldfile, st.st_mode); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:108:9: [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 _chmod data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:5289:7: [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(path, mode)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/builtins.c:135:10: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. CMDLIST(chmod) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:1402:9: [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. if((n=readlink(sfstruse(shp->strbuf),buff,sizeof(buff)-1))>0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1092:12: [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. while((fd=readlink(name, path, PATH_MAX)) >0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1379: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(tname,perm); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1072:12: [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. while((n=readlink(path,buff,PATH_MAX))>0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/shcomp.c:116:4: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. chmod(cp,(statb.st_mode&~S_IFMT)|S_IXUSR|S_IXGRP|S_IXOTH); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:437:7: [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(tmpname,mode) <0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mkdir.c:59:9: [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(path, mode)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:102:19: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. #define syschmod chmod data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:307:1: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. chmod(const char* path, mode_t mode) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:86:18: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if (mode && chmod(path, mode)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/readlink.c:28:5: [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. NoN(readlink) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/readlink.c:41:1: [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. readlink(const char* path, char* buf, int siz) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/univlib.h:40:47: [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. __STDPP__directive pragma pp:hide getuniverse readlink setuniverse symlink universe data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/univlib.h:43:9: [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. #define readlink ______readlink data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/univlib.h:60:49: [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. __STDPP__directive pragma pp:nohide getuniverse readlink setuniverse symlink universe data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/univlib.h:63:8: [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. #undef readlink data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/univlib.h:88:13: [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. extern int readlink(const char*, char*, int); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathgetlink.c:46: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. if ((n = readlink(name, buf, siz)) < 0) return(-1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprog.c:62: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. if ((n = readlink(_PROC_PROG, path, size)) > 0 && *path == '/') data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fgets.c:107:1: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. gets(char* s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:140:84: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if (!cv && av == TV_TOUCH_RETAIN && mv == TV_TOUCH_RETAIN && !stat(path, &st) && !chmod(path, st.st_mode & S_IPERM)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chgrp.c:420:13: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. chownf = chown; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chmod.c:290:13: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. chmodf = chmod; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cksum.c:349:11: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. if (chown(file, uid, gid) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cksum.c:372:12: [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(file, mode) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:215:12: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. if (n && chown(state->path, os->st_uid, os->st_gid)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:337:74: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if ((ent->fts_statp->st_mode & S_IPERM) != (st.st_mode & S_IPERM) && chmod(state->path, ent->fts_statp->st_mode & S_IPERM)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:660:120: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if ((state->preserve & PRESERVE_PERM) && (ent->fts_statp->st_mode & state->perm) != (st.st_mode & state->perm) && chmod(state->path, ent->fts_statp->st_mode & state->perm)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkdir.c:179:90: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if ((st.st_mode & (S_ISVTX|S_ISUID|S_ISGID)) != (mode & (S_ISVTX|S_ISUID|S_ISGID)) && chmod(path, mode)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rm.c:128: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(ent->fts_name, (ent->fts_statp->st_mode & S_IPERM)|S_IRWXU)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rm.c:163:5: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. chmod(path, (ent->fts_statp->st_mode & S_IPERM)|S_IRWXU); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/hello.c:20:9: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. #ifndef printf data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:454: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(t, s); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:543: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(root->name, name); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:714:4: [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(vp->dir, s); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:716:4: [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(vp->dir + n + 1, p); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1166:11: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. if ((c = system(s)) > 255) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:2023:18: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. push("recurse", popen(s, "r"), STREAM_PIPE); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:89: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. # ifndef access data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:90: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. # define access _huh_access data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:111: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. # undef access data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:156:23: [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. extern __MANGLE__ int access __PROTO__((const char*, int)); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:485:24: [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. extern __MANGLE__ int access __PROTO__((const char*, int)); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4867: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. if (file && access(file, 4)) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4907: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. if (access(buf, 0) && mkdir(buf, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:107:9: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. #define access _access data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:739: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:740:15: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. # define vsnprintf _vsnprintf data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:786: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:787: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:788: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:789: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:790: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:3718: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(s->path, path); /* do this early for debugging */ data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:5018: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. if (!list && access(path, 0)) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:5026: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. if (access(path, 0) && mkdir(path, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:5257: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. if (access(path, 0) && mkdir(path, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/cd_pwd.c:266: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). cp = strcpy(stakseek(strlen(cp)+PATH_MAX),cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:56:8: [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. struct printf data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:90:42: [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. static int fmtvecho(const char*, struct printf*); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:315:10: [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. struct printf pdata; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:377:9: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. struct printf pdata; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:689:9: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. struct printf* pp = (struct printf*)fe; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:689:30: [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. struct printf* pp = (struct printf*)fe; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:1027:48: [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. static int fmtvecho(const char *string, struct printf *pp) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/test.c:570: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. return(access(name,mode)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/test.c:579: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. mode = access(name,mode); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/builtins.c:113:37: [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", NV_BLTIN|BLT_ENV, bltin(printf), data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/builtins.c:131:8: [4] (tmpfile) mktemp: Temporary file race condition (CWE-377). #undef mktemp /* undo possible map-libc mktemp => _ast_mktemp */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:736: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(pp,pp+shift); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:771:4: [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->e_termname,term); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1413:3: [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((wchar_t *)dest,(const wchar_t *)buffer); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1415: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(dest,buffer); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:95:24: [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 gencpy(a,b) strcpy((char*)(a),(char*)(b)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1179: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(hbuf, itos(hline)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1183: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(hbuf, itos(hloff+1)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1190: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(hbuf, itos(location.hist_command)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1194:7: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(hbuf, itos(location.hist_line+1)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1207: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(debugbuf, itos(count)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1209: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(debugbuf, itos(eol)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1211: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(debugbuf, itos(cur)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1213: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(debugbuf, itos(crallowed)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1215: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(debugbuf, itos(plen)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1217: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(debugbuf, itos(w_size)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:140:12: [4] (misc) getlogin: It's often easy to fool getlogin. Sometimes it does not work at all, because some program messed up the utmp file. Often, it gives only the first 8 characters of the login name. The user currently logged in on the controlling tty of our program need not be the user who started it. Avoid getlogin() for security-related purposes (CWE-807). Use getpwuid(geteuid()) and extract the desired information instead. if(!(cp = getlogin())) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:468:5: [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(hist_old->histname,F_OK) >= 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:1127: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(string,s1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:77:24: [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 gencpy(a,b) strcpy((char*)(a),(char*)(b)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:924:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy((char*)virtual,(char*)vp->u_space); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:1641: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(lsearch+1,virtual); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:2248: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( ((char*)virtual)+1, lsearch); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shell.h:236: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. # define access(a,b) sh_access(a,b) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/expand.c:56:23: [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 sh_access access data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:2238: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((char*)mp->name,name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1182: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(ap->argval,iop->ioname); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c:1718: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(iop->ioname,lp->arg->argval); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:986: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(&id[n],sub); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:990:4: [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(&id[n],cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2666:9: [4] (misc) getlogin: It's often easy to fool getlogin. Sometimes it does not work at all, because some program messed up the utmp file. Often, it gives only the first 8 characters of the login name. The user currently logged in on the controlling tty of our program need not be the user who started it. Avoid getlogin() for security-related purposes (CWE-807). Use getpwuid(geteuid()) and extract the desired information instead. cp = getlogin(); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:280:7: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execv(pathshell(),av); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2126: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(p,value); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3061:4: [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(cp, sp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3228: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). cp=strcpy(ep,cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1630: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(nvtype,NV_CLASS); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1092: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. if(r && access(path,X_OK)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1154: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(sp+2,path); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1489: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(pp->blib,LIBCMD); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1546:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ptr,ep); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1562: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((void*)&pp->lib[k+1],ep); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:172: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(p,X_OK) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:245:2: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execv(shell,argv); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:466:3: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execv(tmpname,arglist); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:785: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(csp->name,name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2924:20: [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). shp->lastarg = strcpy(lastarg,comn); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:153: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(apl->path, path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso.c:56:19: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define sfsprintf snprintf data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h:135:18: [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 sfprintf fprintf data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h:136:19: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define sfsprintf snprintf data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h:137:19: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. #define sfvprintf vfprintf data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h:139:18: [4] (buffer) fscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. #define sfscanf fscanf data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:75:7: [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. r = vfprintf(f, fmt, ap); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:76:16: [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. else if ((r = vsnprintf(buf, sizeof(buf), fmt, ap)) > 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:91:6: [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. r = vsnprintf(buf, sizeof(buf), fmt, ap); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/eaccess.c:47: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. return access(path, flags|EFF_ONLY_OK); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/eaccess.c:70: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. return access(path, flags); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execlp.c:30:5: [4] (shell) execlp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. NoN(execlp) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execlp.c:35:16: [4] (shell) execlp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. __EXPORT__ int execlp(const char*, const char*, ...); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execlp.c:45:1: [4] (shell) execlp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execlp(const char* name, const char* arg, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execlp.c:47:9: [4] (shell) execvp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. return execvp(name, (char *const*)&arg); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execvp.c:30:5: [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. NoN(execvp) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execvp.c:35:16: [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. __EXPORT__ int execvp(const char*, char* const[]); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execvp.c:45:1: [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(const char* name, char* const argv[]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:145: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(s, e); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:266: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(lab, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getlogin.c:28:5: [4] (misc) getlogin: It's often easy to fool getlogin. Sometimes it does not work at all, because some program messed up the utmp file. Often, it gives only the first 8 characters of the login name. The user currently logged in on the controlling tty of our program need not be the user who started it. Avoid getlogin() for security-related purposes (CWE-807). Use getpwuid(geteuid()) and extract the desired information instead. NoN(getlogin) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getlogin.c:37:1: [4] (misc) getlogin: It's often easy to fool getlogin. Sometimes it does not work at all, because some program messed up the utmp file. Often, it gives only the first 8 characters of the login name. The user currently logged in on the controlling tty of our program need not be the user who started it. Avoid getlogin() for security-related purposes (CWE-807). Use getpwuid(geteuid()) and extract the desired information instead. getlogin(void) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:1106: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(cc->from.name, fr); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mkdir.c:46: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(path, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:27:9: [4] (tmpfile) mktemp: Temporary file race condition (CWE-377). #define mktemp ______mktemp data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:33:8: [4] (tmpfile) mktemp: Temporary file race condition (CWE-377). #undef mktemp data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:74:1: [4] (tmpfile) mktemp: Temporary file race condition (CWE-377). mktemp(char* buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:92:20: [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 sysaccess access data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:197:58: [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). if (physical || strlen(path) >= size || !(s = pathcanon(strcpy(buf, path), size, PATH_PHYSICAL|PATH_DOTDOT|PATH_EXISTS))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:265:1: [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(const char* path, int op) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:774:4: [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(exe[fd]->path, path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:937:2: [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(tmp, sizeof(tmp), deleted, drive, base, suffix); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:981:3: [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(tmp, sizeof(tmp), deleted, drive, base, suffix); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:68:27: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if ((op & O_EXCL) && !access(path, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/rmdir.c:57: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(path, F_OK) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/spawnveg.c:72: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. if (!access(path, X_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/spawnveg.c:172: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(path, X_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:31:5: [4] (format) syslog: If syslog's format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant format string for syslog. NoN(syslog) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:203: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(buf, path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:216:4: [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(ua.sun_path, buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:360:1: [4] (format) syslog: If syslog's format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant format string for syslog. syslog(int priority, const char* format, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.h:127:13: [4] (format) syslog: If syslog's format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant format string for syslog. extern void syslog(int, const char*, ...); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/system.c:27:9: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. #define system ______system data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/system.c:34:8: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. #undef system data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/system.c:44:1: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(const char* cmd) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/getdents.c:151: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(up->d_name, tmp); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c:225:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(b->name, value); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c:233:17: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). b->name = strcpy(t, value); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/shcmd.h:86:66: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. # define sh_system(c,str) ((c)?(*sh_context(c)->shtrap)(str,0):system(str)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:191:17: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). cmd->insert = strcpy(s, argpat); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:335: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(tp->name, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:893:29: [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 (!fp->secure || !access(fp->decode.path, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:905:25: [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 (!fp->secure || !access(fp->decode.path, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:1008: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(x->name, type); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/ftwalk.c:83:48: [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). e->fts_accpath = e->fts_name = e->fts_path = strcpy((char*)(e + 1), path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/glob.c:473: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). pat = strcpy(gp->gl_opt, pat); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:861: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(ep->mime, t + 13); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:871:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ep->desc, t); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:898: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(ep->desc, t); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:1099:78: [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 ((st->st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) || match(s, "/*bin*/*") || !access(s, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:2275: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(mp->fbuf, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:270: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(ent->name, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:396: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(buf, type); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:718:11: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. if (!system(s)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:861: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(p->text, buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1228: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(tsp->nb, b); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1276: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(tsp->nb, u); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:602:5: [4] (shell) execlp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execlp("trace", "trace", "-p", path, NiL); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:743:4: [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(env + 2, path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:771: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(env + 2, (flags & PROC_PARANOID) ? astconf("SH", NiL, NiL) : pathshell()); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/stk.c:478: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((char*)(cp=stream->_data),str); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/systrace.c:51: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(buf, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:111: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(mp->text, msg); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:174: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(cp->name, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c:115:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(path, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c:171:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf + dots, s - (*s != 0)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c:174:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(p, buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c:180: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(path, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c:196: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(path, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathexists.c:83:4: [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(t->name, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathexists.c:109: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(p->name, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathfind.c:66: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(dp->dir, dir); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathgetlink.c:76:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf, tmp); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathgetlink.c:90: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(t - 1, univ_cond); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:74: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(path, p); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:83: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(path, buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:207: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(exe, path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathshell.c:94: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(dir, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:201: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). x = strcpy((char*)(tmp.dir + n), x); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:221:17: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). *tmp.vec = strcpy((char*)(tmp.vec + 2), d); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:331: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. else if (access(b, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:314: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). return strcpy(fmtbuf(strlen(s) + 1), s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:353: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(state.data, state.name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:357:4: [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.data, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:739:4: [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(fp->value, DEFAULT(OP_universe)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:765: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(fp->value, univ_name[n - 1]); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:838: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((char*)fp->name, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1488:33: [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 ((s = sfstruse(tmp)) && !access(s, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1506:4: [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(altname, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1527:34: [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 ((s = sfstruse(tmp)) && !access(s, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1599: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. else if (access(path, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:452:4: [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(path + n, file); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:725: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((char*)(((Lc_attribute_t*)ap)->name = (const char*)(ai + 1)), w); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:779: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((char*)(lc->name = (const char*)(lc + 1)), name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:784: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((char*)lc->code, local[!i].name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:785: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((char*)lc->code + local[!i].size, name + local[i].size); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:788: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((char*)lc->code, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:124:4: [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(s, options); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/getpreroot.c:57:14: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. if (!(fp = popen(buf, "rug"))) return(0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/setpreroot.c:65:4: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execv(*av, av); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcache.c:179: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(cp->pattern, pattern); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regclass.c:274:13: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). np->name = strcpy((char*)(np + 1), name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:1642: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((char*)ce->beg, (char*)xc->key); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:1654: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((char*)ce->end, (char*)cc->key); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:1699:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy((char*)ce->beg, (char*)(ce-1)->end); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1233:14: [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 _ARG_((char*, const char*)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1268:12: [4] (shell) execl: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. extern int execl _ARG_((const char*, const char*,...)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1269:12: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. extern int execv _ARG_((const char*, char**)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:58: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(interp,X_OK) == 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:71: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(cmd,argcmd); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:110: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(cmd,X_OK) != 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:112:8: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. else execv(cmd,argv); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:117: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(s,X_OK) == 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:118:5: [4] (shell) execv: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execv(s,argv); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:127:2: [4] (shell) execl: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execl(interp, s+1, "-c", argcmd, NIL(char*)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:136: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(ff->name,file); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:180: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(p,path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:228: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(Tmppath[0],file); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdvsnprnt.c:31:9: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. return vsnprintf(s, n, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdvsprnt.c:31:9: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. return vsprintf(s, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/_stdvsscn.c:31:9: [4] (buffer) vsscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. return vsscanf(s, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fprintf.c:27:1: [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(Sfio_t* f, const char* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fscanf.c:27:1: [4] (buffer) fscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. fscanf(Sfio_t* f, const char* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwprintf.c:27:1: [4] (format) fwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fwprintf(Sfio_t* f, const wchar_t* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwprintf.c:33:6: [4] (format) vfwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. v = vfwprintf(f, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwscanf.c:27:1: [4] (buffer) fwscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. fwscanf(Sfio_t* f, const wchar_t* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fwscanf.c:36:6: [4] (buffer) vfwscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. v = vfwscanf(f, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/popen.c:27:1: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. popen(const char* cmd, const char* mode) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/printf.c:27:1: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(const char* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/scanf.c:27:1: [4] (buffer) scanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. scanf(const char* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/snprintf.c:27:1: [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(char* s, int n, const char* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/sprintf.c:27:1: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(char* s, const char* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/sscanf.c:27:1: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. sscanf(const char* s, const char* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/swprintf.c:27:1: [4] (format) swprintf: Potential format string problem (CWE-134). Make format string constant. swprintf(wchar_t* s, size_t size, const wchar_t* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/swprintf.c:33:6: [4] (format) vswprintf: Potential format string problem (CWE-134). Make format string constant. v = vswprintf(s, size, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/swscanf.c:33:6: [4] (buffer) vswscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. v = vswscanf(s, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfprintf.c:27:1: [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(Sfio_t* f, const char* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfscanf.c:27:1: [4] (buffer) vfscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. vfscanf(Sfio_t* f, const char* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfwprintf.c:27:1: [4] (format) vfwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfwprintf(Sfio_t* f, const wchar_t* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfwscanf.c:88:1: [4] (buffer) vfwscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. vfwscanf(Sfio_t* f, const wchar_t* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vprintf.c:27:1: [4] (format) vprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vprintf(const char* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vscanf.c:27:1: [4] (buffer) vscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. vscanf(const char* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsnprintf.c:27:1: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. vsnprintf(char* s, int n, const char* form, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsprintf.c:27:1: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf(char* s, const char* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsprintf.c:29:9: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. return vsnprintf(s, 4 * SF_BUFSIZE, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsscanf.c:27:1: [4] (buffer) vsscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. vsscanf(const char* s, const char* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vswprintf.c:27:1: [4] (format) vswprintf: Potential format string problem (CWE-134). Make format string constant. vswprintf(wchar_t* s, size_t n, const wchar_t* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vswprintf.c:51:6: [4] (format) vfwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. v = vfwprintf(&f, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vswscanf.c:27:1: [4] (buffer) vswscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. vswscanf(const wchar_t* s, const wchar_t* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vswscanf.c:50:9: [4] (buffer) vfwscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. return vfwscanf(&f, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vwprintf.c:27:1: [4] (format) vwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vwprintf(const wchar_t* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vwprintf.c:29:9: [4] (format) vfwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. return vfwprintf(sfstdout, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vwscanf.c:27:1: [4] (buffer) vwscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. vwscanf(const wchar_t* fmt, va_list args) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vwscanf.c:29:9: [4] (buffer) vfwscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. return vfwscanf(sfstdin, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/wprintf.c:27:1: [4] (format) wprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. wprintf(const wchar_t* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/wprintf.c:33:6: [4] (format) vfwprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. v = vfwprintf(sfstdout, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/wscanf.c:27:1: [4] (buffer) wscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. wscanf(const wchar_t* fmt, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/wscanf.c:33:6: [4] (buffer) vfwscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. v = vfwscanf(sfstdin, fmt, args); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfs.c:89: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(buf, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfs.c:93: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(ip->name, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtgid.c:96: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(ip->name, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtuid.c:96: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(ip->name, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strerror.c:102:11: [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). msg = strcpy(fmtbuf(strlen(msg) + 1), msg); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strerror.c:114: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(t, s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strgid.c:116: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(ip->name, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:76: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("/dev/rmt/.", F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:84: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. if (!access(tapefile, F_OK)) return(tapefile); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:88: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. if (!access(tapefile, F_OK)) return(tapefile); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:93: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. else if (!access("/dev/nst0", F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:101: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. else if (!access("/dev/nrmt0", F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/struid.c:104: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(ip->name, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:247: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(path, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:45:9: [4] (crypto) crypt: The crypt functions use a poor one-way hashing algorithm; since they only accept passwords of 8 characters or fewer and only a two-byte salt, they are excessively vulnerable to dictionary attacks given today's faster computing equipment (CWE-327). Use a different algorithm, such as SHA-256, with a larger, non-repeating salt. #define crypt ______crypt data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:54:8: [4] (crypto) crypt: The crypt functions use a poor one-way hashing algorithm; since they only accept passwords of 8 characters or fewer and only a two-byte salt, they are excessively vulnerable to dictionary attacks given today's faster computing equipment (CWE-327). Use a different algorithm, such as SHA-256, with a larger, non-repeating salt. #undef crypt data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:843:15: [4] (crypto) crypt: The crypt functions use a poor one-way hashing algorithm; since they only accept passwords of 8 characters or fewer and only a two-byte salt, they are excessively vulnerable to dictionary attacks given today's faster computing equipment (CWE-327). Use a different algorithm, such as SHA-256, with a larger, non-repeating salt. extern char * crypt(register const char *key, register const char *setting) { data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/getpass.c:32:9: [4] (misc) getpass: This function is obsolete and not portable. It was in SUSv2 but removed by POSIX.2. What it does exactly varies considerably between systems, particularly in where its prompt is displayed and where it gets its data (e.g., /dev/tty, stdin, stderr, etc.). In addition, some implementations overflow buffers. (CWE-676, CWE-120, CWE-20). Make the specific calls to do exactly what you want. If you continue to use it, or write your own, be sure to zero the password as soon as possible to avoid leaving the cleartext password visible in the process' address space. #define getpass ______getpass data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/getpass.c:38:8: [4] (misc) getpass: This function is obsolete and not portable. It was in SUSv2 but removed by POSIX.2. What it does exactly varies considerably between systems, particularly in where its prompt is displayed and where it gets its data (e.g., /dev/tty, stdin, stderr, etc.). In addition, some implementations overflow buffers. (CWE-676, CWE-120, CWE-20). Make the specific calls to do exactly what you want. If you continue to use it, or write your own, be sure to zero the password as soon as possible to avoid leaving the cleartext password visible in the process' address space. #undef getpass data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/getpass.c:50:14: [4] (misc) getpass: This function is obsolete and not portable. It was in SUSv2 but removed by POSIX.2. What it does exactly varies considerably between systems, particularly in where its prompt is displayed and where it gets its data (e.g., /dev/tty, stdin, stderr, etc.). In addition, some implementations overflow buffers. (CWE-676, CWE-120, CWE-20). Make the specific calls to do exactly what you want. If you continue to use it, or write your own, be sure to zero the password as soon as possible to avoid leaving the cleartext password visible in the process' address space. extern char* getpass(const char *prompt) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:191:4: [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, data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:209:4: [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, catgets(_libc_cat, NetMiscSet, data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:269:4: [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, data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:360: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). (void)strcpy(pbuf, pwd->pw_dir); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmhdr.h:507:15: [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 _ARG_(( char*, const char* )); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:117:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(mesg, "File: %s\n", mmdc->file ); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:216: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(mmvm->file, mmdc->file); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:415: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(mmdc->file, file); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmprofile.c:131:4: [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(PFNAME(fn),file); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:303: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. if (access(state->path, F_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fmt.c:159: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(fp->outbuf, buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c:293:42: [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 ((cmd = oargv[0]) && *cmd == '/' && !access(cmd, X_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c:360: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(buf, X_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c:378: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. if (!access(buf, X_OK)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/logname.c:73:18: [4] (misc) getlogin: It's often easy to fool getlogin. Sometimes it does not work at all, because some program messed up the utmp file. Often, it gives only the first 8 characters of the login name. The user currently logged in on the controlling tty of our program need not be the user who started it. Avoid getlogin() for security-related purposes (CWE-807). Use getpwuid(geteuid()) and extract the desired information instead. if (!(logname = getlogin())) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkdir.c:157:65: [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 (mkdir(path, n ? dmode : mode) < 0 && errno != EEXIST && access(path, F_OK) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.c:156: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(buf, hosttype); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coexport.c:59: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(ex->name, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:228: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. flags = !access(devfd, F_OK); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coshell.h:37:8: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. #undef system data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coshell.h:38:9: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. #define system(a) cosystem(a) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cosync.c:119: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(tmp, file); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:413:4: [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(dll->path, path); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:479:4: [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 + 1, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c:168: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(lib->base, names->base); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c:169: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(lib->path = lib->base + n + 1, names->path); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlllook.c:43: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(buf + 1, name); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:513: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(u->name, b); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:521: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(scan->uniq->name, b); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:258:21: [3] (buffer) getwd: This does not protect against buffer overflows by itself, so use with caution (CWE-120, CWE-20). Use getcwd instead. #define getcwd(a,b) getwd(a) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4487:8: [3] (tmpfile) GetTempFileName: Temporary file race condition in certain cases (e.g., if run as SYSTEM in many versions of Windows) (CWE-377). if (!GetTempFileName(cmd, "SEA", 0, sear_buf)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:94:23: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. # define nv_getval(s) getenv(#s) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:96:23: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. # define nv_getval(s) getenv("s") data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shell.h:166:8: [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. #undef getenv /* -lshell provides its own */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:659:2: [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((int)(n&RANDMASK)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c:362:7: [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("_AST_KSH_VMBUSY_ABORT")) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:155:2: [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(shp->gd->pid&0x7fff); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3155:7: [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 *getenv(const char *name) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:85:8: [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. if (!realpath(path, resolvedpath)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1366: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. SHACCT = getenv("SHACCT"); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:236:10: [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. shell = getenv("SHELL"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:104:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ((s = getenv(MM_SEVERITY_ENV)) && *s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:218: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. if (!(s = getenv(MM_VERB_ENV))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getopt.c:30:5: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. NoN(getopt) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getopt.c:47:1: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. getopt(int argc, char* const* argv, const char* optstring) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getopt.h:47:12: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. extern int getopt_long(int, char* const*, const char*, const struct option*, int*); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getoptl.c:142:1: [3] (buffer) getopt_long: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. getopt_long(int argc, char* const* argv, const char* optstring, const struct option* longopts, int* longindex) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getwd.c:32:1: [3] (buffer) getwd: This does not protect against buffer overflows by itself, so use with caution (CWE-120, CWE-20). Use getcwd instead. getwd(char* path) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:412:29: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (!convertinit++ && (d = getenv(convertvars[0]))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:483: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. trace = (s = getenv("_AST_exec_trace")) ? *s : 'n'; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:577:19: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (!ux && (d = getenv(convertvars[0]))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/realpath.c:27:9: [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/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/realpath.c:32:8: [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. #undef realpath data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/realpath.c:45:1: [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. realpath(const char* file, char* path) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setenv.c:49:20: [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 (overwrite || !getenv(name)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2733:10: [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. stropt(getenv("LC_OPTIONS"), options, sizeof(*options), setopt, NiL); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2764: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. if ((s = getenv("LANG")) && *s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2772: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. if ((s = getenv("LC_ALL")) && *s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2783:19: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. else if ((s = getenv(lc_categories[i].name)) && *s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tempnam.c:29:8: [3] (tmpfile) tempnam: Temporary file race condition (CWE-377). #ifdef tempnam data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tempnam.c:33:35: [3] (tmpfile) tempnam: Temporary file race condition (CWE-377). __STDPP__directive pragma pp:hide tempnam data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tempnam.c:35:9: [3] (tmpfile) tempnam: Temporary file race condition (CWE-377). #define tempnam ______tempnam data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tempnam.c:44:37: [3] (tmpfile) tempnam: Temporary file race condition (CWE-377). __STDPP__directive pragma pp:nohide tempnam data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tempnam.c:46:8: [3] (tmpfile) tempnam: Temporary file race condition (CWE-377). #undef tempnam data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tempnam.c:55:1: [3] (tmpfile) tempnam: Temporary file race condition (CWE-377). tempnam(const char* dir, const char* pfx) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tmpnam.c:27:9: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). #define tmpnam ______tmpnam data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tmpnam.c:32:8: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). #undef tmpnam data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tmpnam.c:46:1: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). tmpnam(char* s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_getopt.h:39:12: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. extern int getopt(int, char* const*, const char*); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h:113:8: [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. #undef getenv data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h:114: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. #define getenv _ast_getenv data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h:119: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. extern char* getenv(const char*); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/error.c:377:10: [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. stropt(getenv("ERROR_OPTIONS"), options, sizeof(*options), setopt, NiL); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:172:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. findcodes[1] = getenv(FIND_CODES_ENV); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fs3d.c:57:19: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (!fsview && (!getenv("LD_PRELOAD") || mount("", "", 0, NiL))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:204:28: [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 ((env[n].name && (p = getenv(env[n].name)) || (p = env[n].path)) && *p == '/' && !stat(p, cur)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:25:35: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. __STDPP__directive pragma pp:hide getenv data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:31:37: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. __STDPP__directive pragma pp:nohide getenv data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:48:23: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #if _UWIN && !defined(getenv) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:89:36: [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 defined(__EXPORT__) && defined(getenv) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:94:1: [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. getenv(const char* name) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:96:23: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #if _UWIN && !defined(getenv) /* for ast54 compatibility */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:110:8: [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. #undef getenv data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getenv.c:111:78: [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. return intercepts.intercept_getenv ? (*intercepts.intercept_getenv)(name) : getenv(name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:2244: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. if (!(s = getenv(MAGIC_FILE_ENV)) || !*s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:2258:103: [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 ((strneq(s, "~/", n = 2) || strneq(s, "$HOME/", n = 6) || strneq(s, "${HOME}/", n = 8)) && (t = getenv("HOME"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:297: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. if (!(s = getenv(MIME_FILES_ENV))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:311:103: [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 ((strneq(s, "~/", n = 2) || strneq(s, "$HOME/", n = 6) || strneq(s, "${HOME}/", n = 8)) && (t = getenv("HOME"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:2519:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (x = getenv("ERROR_OPTIONS")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:2529: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. if ((x = getenv("TERM")) && strmatch(x, "(ansi|vt100|xterm)*") && isatty(sffileno(sfstderr))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:595:10: [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. stropt(getenv(PROC_ENV_OPTIONS), options, sizeof(*options), setopt, &debug); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/systrace.c:45:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (!(s = getenv("HOME"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:368: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. nlspath = getenv("NLSPATH"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathbin.c:39: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. if ((!(bin = getenv("PATH")) || !*bin) && !(bin = val)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:122: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. if (k = getenv(PR_BASE)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:131:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ((k = getenv("VIRTUAL_ROOT")) && *k == '/') data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:176: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. if (!(k = getenv("PROBE_ATTRIBUTES"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:177:8: [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. k = getenv("VERSION_ENVIRONMENT"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:124:66: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (!(s = pathaccess(x, p, a, mode, path, size)) && !*x && (x = getenv("FPATH"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:210: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. if (!(p = getenv("HOME"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathshell.c:62:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ((sh = getenv("SHELL")) && *sh == '/' && strmatch(sh, "*/(sh|*[!cC]sh)*([[:digit:]])?(-+([.[:alnum:]]))?(.exe)")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:189:34: [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 ((x = tmp.tmppath) || (x = getenv(TMP_PATH_ENV))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:216:35: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (((d = tmp.tmpdir) || (d = getenv(TMP_ENV))) && !VALID(d)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:347:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ((s = getenv(state.name)) || getenv(state.strict) && (s = (char*)state.standard)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:347:35: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ((s = getenv(state.name)) || getenv(state.strict) && (s = (char*)state.standard)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:516:8: [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. ok = getenv(state.strict) != 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:531: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. if (p = getenv("PATH")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:664: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. if (!(fp->value = getenv("HOSTNAME"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astwinsize.c:112:26: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (rows) *rows = (s = getenv("LINES")) ? strtol(s, NiL, 0) : 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astwinsize.c:113:26: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (cols) *cols = (s = getenv("COLUMNS")) ? strtol(s, NiL, 0) : 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:90: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. if ((p = getenv("NLSPATH")) && *p) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/setpreroot.c:45:57: [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 ((argv || (argv = opt_info.argv)) && (dir || (dir = getenv(PR_BASE)) && *dir) && !ispreroot(dir) && (*(cmd = *argv++) == '/' || (cmd = pathpath(cmd, NiL, PATH_ABSOLUTE|PATH_REGULAR|PATH_EXECUTE, buf, sizeof(buf))))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/setpreroot.c:56:14: [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 (!(s = getenv(PR_SILENT)) || !*s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:43:79: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #define DEBUG_INIT() do { char* t; if (!debug) { debug = 0x80000000; if (t = getenv("_AST_regex_comp_debug")) debug |= strtoul(t, NiL, 0); } } while (0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c:35:79: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. #define DEBUG_INIT() do { char* t; if (!debug) { debug = 0x80000000; if (t = getenv("_AST_regex_exec_debug")) debug |= strtoul(t, NiL, 0); } } while (0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1228:14: [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 _ARG_((const char*)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpkrd.c:84:6: [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. getenv("LOGNAME") == 0 && data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpkrd.c:85:6: [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. getenv("MAIL") == 0 && data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpkrd.c:86:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. ((e = getenv("LANG")) == 0 || strcmp(e, "C") == 0) && data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpkrd.c:87:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. ((e = getenv("PATH")) == 0 || strncmp(e, "/usr/bin:", 9) == 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:54: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. if(!(interp = getenv("SHELL")) || !interp[0]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfsetbuf.c:77: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. if(astsfio = getenv("SFIO_OPTIONS")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:162:14: [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(!(path = getenv(path)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:221: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. if(!(file = getenv("TMPDIR")) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c:226: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. if (s = getenv("TZ")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c:306: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. if ((s = getenv("TZNAME")) && *s && (s = strdup(s))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c:319: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. else if ((s = getenv("TZ")) && *s && *s != ':' && (s = strdup(s))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c:389: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. stropt(getenv("TM_OPTIONS"), options, sizeof(*options), tmopt, NiL); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxscan.c:482: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. if ((v = getenv("DATEMSK")) && *v && (sp = sfopen(NiL, v, "r"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:30:9: [3] (random) drand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define drand48 ______drand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:31:9: [3] (random) erand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define erand48 ______erand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:32:9: [3] (random) jrand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define jrand48 ______jrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:33:9: [3] (random) lcong48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define lcong48 ______lcong48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:34:9: [3] (random) lrand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define lrand48 ______lrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:35:9: [3] (random) mrand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define mrand48 ______mrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:36:9: [3] (random) nrand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define nrand48 ______nrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:37:9: [3] (random) seed48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define seed48 ______seed48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:42:8: [3] (random) drand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #undef drand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:43:8: [3] (random) erand48: 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. #undef erand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:44:8: [3] (random) jrand48: 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. #undef jrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:45:8: [3] (random) lcong48: 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. #undef lcong48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:46:8: [3] (random) lrand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #undef lrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:47:8: [3] (random) mrand48: 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. #undef mrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:48:8: [3] (random) nrand48: 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. #undef nrand48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:49:8: [3] (random) seed48: 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. #undef seed48 data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:87:15: [3] (random) drand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. extern double drand48(void) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:97:15: [3] (random) erand48: 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. extern double erand48(unsigned short xsubi[3]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:107:13: [3] (random) jrand48: 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. extern long jrand48(unsigned short xsubi[3]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:115:13: [3] (random) lcong48: 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. extern void lcong48(unsigned short param[7]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:126:13: [3] (random) lrand48: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. extern long lrand48(void) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:134:13: [3] (random) mrand48: 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. extern long mrand48(void) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:142:13: [3] (random) nrand48: 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. extern long nrand48(unsigned short xsubi[3]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rand48.c:150:24: [3] (random) seed48: 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. extern unsigned short *seed48(unsigned short seed[3]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:45:9: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define random ______random data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:46:9: [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. #define setstate ______setstate data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:47:9: [3] (random) srandom: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #define srandom ______srandom data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:55:8: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. #undef random data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:56:8: [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. #undef setstate data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:57:8: [3] (random) srandom: 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. #undef srandom data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:63:17: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. extern long int random(); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:210:13: [3] (random) srandom: 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. extern void srandom(unsigned int x) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:221:9: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. (void) random(); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:283:3: [3] (random) srandom: 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. srandom(seed); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:300:14: [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. extern char *setstate(const char *arg_state) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/random.c:352:17: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. extern long int random() data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:41: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. extern char* getenv(const char*); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:206: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. #define getenv(s) lcl_getenv(s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:1282:10: [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 (s = getenv("VMALLOC_OPTIONS")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmhdr.h:510: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. extern char* getenv _ARG_(( const char* )); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:898:48: [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 (!(file = backup_type) && !(backup_type = getenv("VERSION_CONTROL"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:946:43: [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 (!state->suffix && !(state->suffix = getenv("SIMPLE_BACKUP_SUFFIX"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c:350:10: [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 (s = getenv("PATH")) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mktemp.c:95: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. if ((t = getenv("TMPDIR")) && *t) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coinit.c:86:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if ((v = getenv(n)) && *v || coex && ((flags & CO_EXPORT) || co->export && dtsize(co->export) > 0)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coinit.c:192: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. s = getenv(co_export[0]); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:170:28: [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 (!state.type && (!(s = getenv(CO_ENV_TYPE)) || !(state.type = strdup(s)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:183: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. stropt(getenv(CO_ENV_OPTIONS), options, sizeof(*options), setopt, co); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:231:10: [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. sh[1] = getenv(CO_ENV_SHELL); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:277: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. if (t = getenv(CO_ENV_ATTRIBUTES)) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:137:46: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (!(dll = (void*)load((char*)path, mode, getenv("LIBPATH")))) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllnext.c:79:6: [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("DLL_DEBUG") && (vp = (char*)_rld_new_interface(_RLD_FIRST_PATHNAME))) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllopen.c:57: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. olibpath = getenv(info->env); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:168: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 name[1];/* 0 terminated name */ data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:205: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 dir[1]; /* viewpath level dir prefix */ data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:245: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 input[8*CHUNK]; /* input buffer */ data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:422: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->nxt, str, n + 1); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:654: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[CHUNK]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1093:25: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!(state.sp->fp = fopen(path, "r"))) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1446:57: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). dynamic = (s = search(state.vars, "mam_cc_L", NiL)) ? atoi(s) : 0; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1491:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!(f = fopen(use(tmp), "r"))) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1495:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(expand(buf, use(tmp)), "r"); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:2266:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). state.debug = -atoi(s); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:299: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 token[1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:389:845: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char* checkpoint; int constack; struct ppinstk* in; char* addp; char* args; char* addbuf; char* catbuf; char* hdrbuf; char* hidebuf; char* path; char* tmpbuf; char* valbuf; char* optflags; int lastout; char* include; char* prefix; struct ppmember* member; int hidden; int hiding; int level; struct { int input; int output; } pool; struct { long ro_state; long ro_mode; long ro_option; long ro_op[2]; int on; char* symtab; } reset; int truncate; struct ppmacstk* macp; char* maxmac; char* mactop; char* toknxt; long* control; long* maxcon; struct oplist* chop; struct ppfile* insert; struct ppfile* original; struct ppdirs* found; int vendor; char* dirtab; char* strtab; PPBUILTIN builtin; PPCOMMENT comment; PPINCREF incref; PPLINESYNC linesync; PPLINESYNC olinesync; PPMACREF macref; PPOPTARG optarg; PPPRAGMA pragma; struct counter counter; char funbuf[256]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:490: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). extern __MANGLE__ int open __PROTO__((const char*, int, ...)); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:545:19: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 __MANGLE__ char _pp_trigraph[255+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:556: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 ch[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:922:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char _pp_trigraph[255+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1320: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 cc[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1321: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 pushback[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1323: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 variadic[256]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1415: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1571: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 cc[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1792: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 path[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1811: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 ((i = open(file, O_RDONLY|0)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1821: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). i = open(file, O_RDONLY|0); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1870: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 tmpbuf[(70+4)]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1871: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 info[8 * 1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4437: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 com[80]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4452:20: [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 (file && (fd = open(file, O_RDONLY)) < 0) return 0; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4865: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4968: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 suffix[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4969: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 comment[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:5050: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:5051: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 opt[4 * 1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:5267: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). else if ((fd = open(list, O_RDONLY)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:112: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). #define open _open data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:651: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:713: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:770: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:2791: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:3488: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/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:3685:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fmode[80]; /* copy of mode, without the compression level */ data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:3813:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[20]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:3817: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(name, "<fd:%d>", fileno(sp)); /* for debugging */ data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4226: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 name[NAMSIZ]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4227: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 mode[TMODLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4228: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 uid[TUIDLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4229: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 gid[TGIDLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4230: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 size[TSIZLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4231: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 mtime[TMTMLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4232: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 chksum[TCKSLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4234: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 linkname[NAMSIZ]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4235: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 magic[TMAGLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4236: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 version[TVERSLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4237: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 uname[TUNMLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4238: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 gname[TGNMLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4239: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 devmajor[TDEVLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4240: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 devminor[TDEVLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4241: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 prefix[PFXSIZ]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4242: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 pad[TPADLEN]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4464: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 sear_buf[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4470: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 cmd[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4475:6: [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 (open(cmd, O_BINARY|O_RDONLY) || lseek(0, offset, 0) != offset) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4553: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4564:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(cp, ".exe"); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4608: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4708: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 num[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4709: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 path[sizeof(header.prefix) + sizeof(header.name) + 4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4710: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[sizeof(header)]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:5096:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bar[METER_parts + 1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:5197: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). while (!(fp = fopen(path, FOPEN_WRITE))) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/release.c:118: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]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/release.c:207: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/release.c:325: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). else if (!(f = fopen(p, "r"))) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/enum.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. const char *values[1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/enum.c:127: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*)ep,(void*)pp,sizeof(struct Enum)+pp->nelem*sizeof(char*)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/enum.c:168: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. static char buff[6]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/enum.c:256:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(cp,sp,n+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/getopts.c:63: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 value[2], key[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/getopts.c:155: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 *com[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/hist.c:193: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((fdo=open(fname,O_CREAT|O_RDWR,S_IRUSR|S_IWUSR)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/hist.c:235:3: [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(fname, ".bak"); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/hist.c:244: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 *com[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/hist.c:266: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 buff[IOBSIZE+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/misc.c:314: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*)&shp->st, (void*)prevscope, sizeof(Shscope_t)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/mkservice.c:294: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 buff[20]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/mkservice.c:322: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 buff[20]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:72: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 map[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:72: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. static char default_prompt[3] = {ESC,ESC}; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:171: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(shp->prompt,name,r); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:345: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[256],*var=buf,*cur,*end,*up,*v; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:413:14: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. var = memcpy(v, var, cur - var); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:422: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((void*)cur,cp,c); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:464: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((char*)np->nvalue.cp,var,c); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/regress.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 buf[16]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/test.c:173: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 *av[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/test.c:455: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 a[3] = "-?"; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/trap.c:365: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 name[10]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/trap.c:366: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 *names[SH_TRAP]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/trap.c:367: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 *traps[SH_DEBUGTRAP+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/typeset.c:979: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 path[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/ulimit.c:81: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 tmp[32]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:31: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 sh_lexstate0[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:82: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 sh_lexstate1[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:126: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 sh_lexstate2[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:156: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 sh_lexstate3[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:177: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 sh_lexstate4[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:200: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 sh_lexstate5[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:223: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 sh_lexstate6[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:270: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 sh_lexstate7[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:313: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 sh_lexstate8[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c: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. static const char sh_lexstate9[256] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/lexstates.c:380:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *sh_lexrstates[ST_NONE] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/strdata.c:29: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. const unsigned char strval_precedence[35] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/strdata.c:72:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char strval_states[64] = data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:212: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 *av[2], *begin , *dir=0; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:54: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 CURSOR_UP[20] = { ESC, '[', 'A', 0 }; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:55: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 KILL_LINE[20] = { ESC, '[', 'J', 0 }; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1035: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 readin[LOOKAHEAD+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1120: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[8]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1165: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 p[16]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1409: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[MAXLINE*sizeof(genchar)]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1570: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 buff[MAXLINE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1702: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(ep->hpat,cp,m); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1822: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(ed->e_macro,"_??"); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:189: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 prompt[PRSIZE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:940:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[MAXLINE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1176:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[MAXLINE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1178: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(hbuf, "Current command "); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1182:6: [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(hbuf, " (line "); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1189:6: [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(hbuf, "; Previous command "); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1193:7: [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(hbuf, " (line "); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1204:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char debugbuf[MAXLINE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1206: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(debugbuf, "count="); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1208: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(debugbuf, " eol="); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1210: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(debugbuf, " cur="); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1212: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(debugbuf, " crallowed="); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1214: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(debugbuf, " plen="); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1216: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(debugbuf, " w_size="); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/hexpand.c:51: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 *str[2]; /* [0] is "old", [1] is "new" string */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:66: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 histbuff[HIST_BSIZE+1]; /* history file buffer */ \ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:167: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 newfile[16]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:182: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). if((fd=open(name, O_RDONLY)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:212: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 hist_stamp[2] = { HIST_UNDO, HIST_VERSION }; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:266: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). if((fd=open(cp,O_BINARY|O_APPEND|O_RDWR|O_CREAT,histmode))>=0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:297: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). fd = open(fname,O_BINARY|O_APPEND|O_CREAT|O_RDWR,S_IRUSR|S_IWUSR); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:382: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 buff[SF_BUFSIZE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:439: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 magic[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:488:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(tmpname,O_RDONLY); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:517:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char locbuff[HIST_MARKSZ]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:562: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 *buff, marker[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:732: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 buff[HIST_MARKSZ]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:733: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). int fd = open(hp->histname,O_RDWR); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:807: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 saveptr[HIST_MARKSZ]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:865: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((void*)saveptr,(void*)bufptr,HIST_MARKSZ); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:875: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((void*)bufptr,(void*)saveptr,HIST_MARKSZ); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:1199: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). if((newfd=open(hp->histname,O_BINARY|O_APPEND|O_CREAT|O_RDWR,S_IRUSR|S_IWUSR)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:218: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 prompt[PRSIZE+2]; /* prompt */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/argnod.h:79: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 *dolval[1]; /* array of value pointers */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/argnod.h:102: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 argval[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/defs.h:92: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 *trap[SH_DEBUGTRAP+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/defs.h:127: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 sigruntime[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/defs.h:260: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 ifstable[256]; \ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:78: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 data[1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:122: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 e_search[SEARCHSIZE]; /* search string */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:147: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 e_vi_insert[2]; /* for sh_keytrap */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:150: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 e_prbuff[PRSIZE]; /* prompt buffer */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:156: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 e_macro[4]; /* macro buffer */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:169: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 e_termname[80]; /* terminal name */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:176: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 hpat[40]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/lexstates.h:125: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. extern char *sh_lexstates[ST_NONE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/lexstates.h:126:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern const char *sh_lexrstates[ST_NONE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shell.h:249: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). # define open sh_open data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/streval.h:91: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 fname[16]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/streval.h:176: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. extern const unsigned char strval_precedence[35]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/streval.h:177:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. extern const char strval_states[64]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/ulimit.h:160: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 name[16]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/mamstate.c:47: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/args.c:89: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 flagadr[NUM_OPTS+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:92: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(aq,ap,size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:349:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(fp->data,data,fp->nelem*fp->size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:406: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 *av[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:674:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(fp->data+n,data+n,fp->size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:838: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(ap->bits, arp->bits, arp->maxi); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:934: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 numbuff[NUMSIZE+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:1602: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. static char numbuff[NUMSIZE+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/bash.c:43:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char *login_files[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/bash.c:364: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 *argv[7]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/defs.c:44:1: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *sh_lexstates[ST_NONE] = {0}; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/deparse.c:59: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 io_op[7]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/deparse.c:60: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 un_op[3] = "-?"; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/deparse.c:468: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(&io_op[3]," (("); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/expand.c:280: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 tmp[32], end[1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/fault.c:454: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 ifstable[256]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/fault.c:496: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(shp->ifstable,ifstable,sizeof(ifstable)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:171: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 *rval[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:173: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 node[NV_MINSZ+sizeof(char*)]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:325: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*)dp,(void*)fp,sizeof(Namfun_t)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:461: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 *state[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:463:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(state[0],sh_lexrstates[ST_BEGIN],(1<<CHAR_BIT)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:465:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(state[1],sh_lexrstates[ST_NAME],(1<<CHAR_BIT)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:467:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(state[2],sh_lexrstates[ST_DOL],(1<<CHAR_BIT)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:469:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(state[3],sh_lexrstates[ST_BRACE],(1<<CHAR_BIT)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:846: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(mp->match+index,match,nmatch*2*sizeof(match[0])); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:858: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(mp->val,v+n,vsize); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:896: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(mp->rval[i],val,n); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:1005:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(name,"arg",3); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.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. static char *login_files[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:1272: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(sh_lexstates,sh_lexrstates,ST_NONE*sizeof(char*)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:1395: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 buff[PATH_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:2049: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(dp,np->nvname,size+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:427: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(shp->sftable,sftable,max*sizeof(Sfio_t*)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:430: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(shp->fdptrs,fdptrs,max*sizeof(int*)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:433: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(shp->fdstatus,fdstatus,max); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:808: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). nfd = open(path,flags,st.st_mode); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:811: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). nfd = open(path,flags); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:830: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:837: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). while((fd = open(path, flags, mode)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1075: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 *tname, *sp, *ep, path[PATH_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1141: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. static char io_op[7]; /* used for -x trace info */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1226: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(&io_op[3]," (("); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1394:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *argv[7], **av=argv; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2115: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 buff[1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c:647:26: [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(ttynam,O_RDWR)) <0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c:1906: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. static char signo[40]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c:1922: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 sigrt[20]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c:251: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(lp, &savelex, offsetof(Lex_t,lexd)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c:297: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 tokstr[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c:2115: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 tokbuf[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c:2433: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]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:508: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 mb[8]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:982:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(id,sp,n); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1042: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 buff[sizeof(struct dolnod)+sizeof(char*)]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1095: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 idbuff[3], *id = idbuff, *pattern=0, *repstr=0, *arrmax=0; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2507:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(match,smatch,n*2*sizeof(smatch[0])); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2523:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(match,smatch,n*2*sizeof(smatch[0])); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2604: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 shtilde[10], *av[3], *ptr=stkfreeze(shp->stk,1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2608: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(shtilde,".sh.tilde"); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:756: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(buff+offset,cp,size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:39: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 Null[1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:658: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 *av[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:987: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 null[1] = ""; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1116: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(sp+1,sub,n-2); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1133:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(sp+1,sub,n-2); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1457: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(xp->name,name,xp->len); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1583: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 savechars[8+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1815: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 buff[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1910: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((void*)cp,(void*)up->cp,oldsize); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2250: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((void*)er,environ,shp->nenv*sizeof(char*)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2893: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(cp,up->cp,numeric); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:324: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(&SH_VALNOD->nvname, &node.nvname, sizeof(node)-sizeof(node.nvlink)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:406:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&SH_VALNOD->nvname, &node.nvname, sizeof(node)-sizeof(node.nvlink)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:645: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(nfp,fp,size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:667: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((void*)vp->bltins, (void*)funs,n*sizeof(Namval_t*)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:836: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(np->nvname,name,s); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:875: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(nval,val,size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:1299: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*)ntp,(void*)fp,sizeof(struct table)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:158: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. name = memcpy(dp->data,name,len); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:342: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(dp->data,cp,len+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:247: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((char*)np->nvalue.cp,mp->nvalue.cp,dsize); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:348: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((char*)nq->nvalue.cp,cp,i); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:392: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*)dp,(void*)pp,size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:443: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((char*)nq->nvalue.cp,nr->nvalue.cp,size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:604: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*)pp, (void*)fp, fp->dsize); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:607: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((void*)mp->nvalue.cp,np->nvalue.cp, fp->dsize-sizeof(*fp)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:618: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 *cp,**help,buffer[256]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:808: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*)dp,(void*)op, optsz); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1024:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pp->nodes,dp->nodes,dp->numnodes*NV_MINSZ); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1026:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pp->data,dp->data,offset); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1039: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((char*)nq->nvalue.cp,nr->nvalue.cp,size=nv_datasize(nr,(size_t*)0)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1114: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((char*)nq->nvalue.cp,nr->nvalue.cp,dsize); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1144:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char*)nq->nvalue.cp,np->nvalue.cp,nv_datasize(np,0)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1176: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((char*)nq->nvalue.cp,sp,dsize); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1495: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(cp, fp->name, m); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1513: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(sp, dp->data, nv_size(tp)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1519: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(cp,fp->name,m); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1523: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(cp,nr->nvname,n); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1617: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 *cp,*sp,*xp,nvtype[sizeof(NV_CLASS)]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1712: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(L_ARGNOD,&node,sizeof(node)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c:107: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. static char atbuff[20]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c:891:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ap,lexp->arg,flag); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c:1730:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(lexp->arg->argval,"CUR"); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:46:10: [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 vfork() fork() data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:79: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 resolvedpath[PATH_MAX + 1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:106: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 resolvedpath[PATH_MAX + 1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:110:16: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. while((pid = vfork()) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:184:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((void*)saveargs, (void*)av, n); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:185:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((void*)av,(void*)avlast,n); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:205: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((void*)av,saveargs,n); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:333: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 save[8]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:343: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((void*)save, (void*)stakptr(PATH_OFFSET+pcomp.len),sizeof(save)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:346: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((void*)stakptr(PATH_OFFSET+pcomp.len),(void*)save,sizeof(save)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:575: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((void*)path,(void*)pwd,dirlen); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:578: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*)&path[dirlen],(void*)name,len); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:934: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). if((fd=open(path,O_RDONLY,0))<0 || fstat(fd,&statb)<0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:952: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(stakptr(offset),".sh",4); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1067: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 buff[PATH_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1068: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 save[PATH_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1080: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(save, path, r); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1094: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, save, r); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1299: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). if((n=open(name,O_CREAT|O_TRUNC|O_WRONLY,S_ISUID|S_IXUSR)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1320: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). if((n=open(path,O_RDONLY,0)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1409:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open( SHACCT , O_WRONLY | O_APPEND | O_CREAT,RW_ALL); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1476: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((char*)(pp+1),name,len+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1510: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). if((fd=open(stakptr(offset),O_RDONLY))>=0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1559: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((void*)pp->lib,(void*)sp,m); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1560: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((void*)&pp->lib[m],stakptr(offset),pp->len); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/shcomp.c:68: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 header[6] = { CNTL('k'),CNTL('s'),CNTL('h'),0,VERSION,0 }; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/subshell.c:549: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 n = open(".",O_RDONLY); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/subshell.c:551: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). n = open(".",O_RDONLY); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/subshell.c:577:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(savsig=malloc(nsig),(char*)&shp->st.trapcom[0],nsig); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/subshell.c:734:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char*)&shp->st.trapcom[0],savsig,nsig); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:156:6: [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). n = open(p,0); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:381: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). if((n = open(tmpname, O_WRONLY | O_CREAT | O_EXCL, SPECIAL)) < 0 || data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:384: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). if((n = open(tmpname, O_WRONLY | O_CREAT ,SPECIAL)) < 0 || unlink(tmpname) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:422: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). if((m = open(THISPROG, O_RDONLY)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:429: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). if((n = open(tmpname,O_WRONLY|O_CREAT|O_TRUNC|O_EXCL, mode)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:432: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). if((n = open(tmpname,O_WRONLY|O_CREAT|O_TRUNC, mode)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:496: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[BLKSIZE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:51:12: [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 vfork() fork() data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:141: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 buff[SF_BUFSIZE]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:700: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(node,L_ARGNOD,sizeof(*node)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:764: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). if(open) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:774:6: [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(!open) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:812: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 *str,*trap,host[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:908: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(e_devnull,O_RDONLY); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:1222: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 *argv[1]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:1847:22: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. while((parent = vfork()) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:1990: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(savsig=malloc(nsig),(char*)&shp->st.trapcom[0],nsig); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2242: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 *av[5]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2480: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 *arg[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2529:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *av[4]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2842:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *argv[6]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2860: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 unop[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2916: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. static char lastarg[32]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2972: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(dp->dolval+ARG_SPARE, argv, (argn+1)*sizeof(char*)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:3283: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 *argv[2]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:3382: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(savstak=stakalloc(nsig),(char*)&shp->st.trapcom[0],nsig); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:3446: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((char*)&shp->st.trapcom[0],savstak,nsig); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:3546: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 *av[3]; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:3663: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 *arglist[3], *envlist[2], devfd[12], *cp; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:3980: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). int fd = open(path,O_RDONLY); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:40: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 path[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:56: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:57: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 tmp[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:99: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(tmp, path + 5, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:120: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 >= 0 || (fd = open(path, O_RDWR|O_cloexec)) < 0 && (fd = open(path, O_CREAT|O_RDWR|O_cloexec, perm)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:120:66: [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 >= 0 || (fd = open(path, O_RDWR|O_cloexec)) < 0 && (fd = open(path, O_CREAT|O_RDWR|O_cloexec, perm)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-sem.c:63: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 tmp[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-sem.c:91: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(tmp, path + 5, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso.c:163: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[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h:83: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 pad[944]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h:127:23: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). #define sfopen(f,n,m) fopen(n,m) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/option.h:69: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 option[8]; /* current flag {-,+} + option */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/option.h:70: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 name[64]; /* current long name or flag */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/option.h:74: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 pads[sizeof(void*)-1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/optlib.h:70: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 flags[sizeof(OPT_FLAGS)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/optlib.h:100: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 pad[2*sizeof(void*)]; \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:71: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. static char buf[STR]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:88: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. static char buf[STR]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:127: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(p->nxt, buf, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:240: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(p->nxt, buf, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/strdup.c:36:68: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return (s && (t = newof(0, char, n = strlen(s) + 1, 0))) ? (char*)memcpy(t, s, n) : (char*)0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/vmalloc.c:86:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(vp->data, o, z); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/vmalloc.h:42: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 align[VM_ALIGN - sizeof(struct Vmchunk_s*)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/vmalloc.h:43: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 data[VM_CHUNK - VM_ALIGN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtclose.c:52: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(&pdt, dt, sizeof(Dt_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtlist.c:39: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 *obj, *endb, buf[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtlist.c:50:20: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c:41: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 *obj, *endb, buf[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c:54:19: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c:63:19: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c:71:19: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/catopen.c:77: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/execvpe.c: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 buffer[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:213: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 lab[MM_LABEL_1_MAX + MM_LABEL_2_MAX + 3]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:274: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). mm.console = open("/dev/console", O_WRONLY|O_APPEND|O_NOCTTY); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/getwd.c:35: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(path, "getwd: error in . or .."); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:175: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 aka[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:176: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 tmp[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:216:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(aka, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:281: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(*tb, *fb, fz); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:294:14: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). if ((tz = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)*fn, (LPWSTR)*tb, *tn)) && tz <= *tn) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:311:20: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). while (!(tz = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)fz, (LPWSTR)*tb, 0))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:340:20: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). else if (!(un = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)*fn, (LPWSTR)*tb, 0))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:344:20: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). else if (!(un = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)*fn, (LPWSTR)ub, un))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:365:20: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). while (!(fz = MultiByteToWideChar(cc->from.index, 0, (LPCSTR)*fb, (int)bz, (LPWSTR)ub, un))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:427: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]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:680:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char ume_d[UCHAR_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:682:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char ume_m[UCHAR_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:1054: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 fr[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:1055: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 to[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:1325: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(*tb, *fb, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcpy.c:28: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. NoN(memcpy) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcpy.c:32:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #undef memcpy data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcpy.c:36:13: [2] (buffer) bcopy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. extern void bcopy(void*, void*, size_t); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcpy.c:39:1: [2] (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* s1, void* s2, size_t n) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcpy.c:41:2: [2] (buffer) bcopy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. bcopy(s2, s1, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memcpy.c:48:1: [2] (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* as1, const void* as2, register size_t n) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/memmove.c:41:10: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return(memcpy(to, from, n)); /* hope it's fast*/ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:28:9: [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). #define mkstemp ______mkstemp data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:34:8: [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). #undef mkstemp data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:80: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(char* buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:127: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). #define sysopen open data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:200:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(s, ".exe"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:220: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 buf[512]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:222: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 buf[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:269: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:311: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.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(t, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:455: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:456: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 tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:572:12: [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. *v++ = strcpy(tmp, "PATH=/bin"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:584: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, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:670: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 fb[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:671: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 tb[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:699: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:710: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:744:1: [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, int flags, ...) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:749: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:804: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 fb[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:805: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 tb[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:827: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:847: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:872: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:873: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 tmp[MAX_PATH]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:888: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 nat[MAX_PATH]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:1025: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 tmp[MAX_PATH]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:1054: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:1072: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:30: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). #if !defined(open) || !defined(_ast_O_LOCAL) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:32:5: [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). NoN(open) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:36: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). #undef open data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:38: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). extern int open(const char*, int, ...); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:97: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). else if ((fd = open(path, op & (_ast_O_LOCAL-1), mode)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/open.c:115: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). else fd = open(path, op, mode); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/openlog.c:47: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(log.ident, ident, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/re_comp.c:36: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 error[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/readlink.c:48: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). if ((fd = open(path, O_RDONLY|O_cloexec)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regcmp.c:40: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 sub[SUB]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regcmp.c:43: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[ALIGN_BOUND2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regcmp.c:74: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 paren[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regcmp.c:75: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 sub[SUB]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/regcmp.c:185: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(re->sub, sub, (nsub + 1) * sizeof(sub[0])); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:108: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 lbuf[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:109: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 cbuf[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:158: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[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:482: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 ab[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:483: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 bb[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:574: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 const signed char utf8tab[256] = data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2270:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2277: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(mb_state, mb_state_zero, sizeof(mbstate_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2484:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2572: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[PATH_MAX / 2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2613: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, w, m); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2643:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, w, j); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setlocale.c:2756: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 tmp[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/setsid.c:63: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). if ((fd = open("/dev/tty", O_RDONLY|O_cloexec)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/spawnveg.c:199:8: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. pid = vfork(); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/symlink.c:48: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). if ((fd = open(b, O_CREAT|O_TRUNC|O_WRONLY|O_cloexec, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:197: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:262:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:271: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). if ((log.fd = open(s, O_WRONLY|O_APPEND|O_NOCTTY|O_cloexec)) < 0 && (log.fd = sockopen(s)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:306: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]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:330:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(log.host, "localhost"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/sysloglib.h:46: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 ident[64]; /* openlog ident */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/sysloglib.h:47: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 host[64]; /* openlog host name */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/tmpnam.c:48: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. static char buf[Length_of_temporary_name]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/vfork.c:28:5: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. NoN(vfork) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/vfork.c:38:8: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. #undef vfork data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/vfork.c:45:1: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. vfork(void) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/wordexp.c:181: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*)cp,stakptr(offset),c); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/dirstd.h:45: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_name[1]; /* entry name */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/getdents.c:128:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp[sizeof(sp->d_name) + 1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/opendir.c:55: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). if ((fd = open(path, O_RDONLY|O_cloexec)) < 0) return(0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcdos.c:193: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(dp->buff, cp, count); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcdos.c:205:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(first-count, first, m); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcfilter.c:35: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 raw[4096]; /* raw data buffer */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c: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 pattern[128]; /* match pattern */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:50: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 prompt[1]; /* prompt string */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:223: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(more->pattern, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:331: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(more->prompt, prompt, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcprefix.c:39: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 prefix[1]; /* prefix string */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcprefix.c:138: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(pfx->prefix, prefix, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcseekable.c:113: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[SF_BUFSIZE]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfkeyprintf.c:158: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(v, fp->fmt.t_str, fp->fmt.n_str); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/features/align.c:41: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 u4[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c:211: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(b->name, value, tab->root->namesize); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c:316:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(b->name, name, m); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h:258: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 pad[936 - sizeof(void*)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h:300:14: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #if !defined(memcpy) && !defined(_lib_memcpy) && defined(_lib_bcopy) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h:301:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define memcpy(t,f,n) (bcopy(f,t,n),(t)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_std.h:301:24: [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 memcpy(t,f,n) (bcopy(f,t,n),(t)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ccode.h:74:51: [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 CCMAPCPY(m,t,f,n) ((m)?_ccmapcpy(m,t,f,n):memcpy(t,f,n)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ccode.h:83:37: [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 CCMAPM(t,f,n,i,o) ((i)==(o)?memcpy(t,f,n):_ccmapcpy(CCMAP(i,o),t,f,n)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/debug.h:53:33: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. #define DEBUG_PRINT(fd,s,v) do {char _b[1024];write(fd,_b,sfsprintf(_b,sizeof(_b),s,v));} while(0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/glob.h:48: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 gl_path[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/magicid.h:40: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 name[8]; /* generic data/application name*/ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/magicid.h:41: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 type[12]; /* specific data type */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/option.h:56: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 pad[3*sizeof(void*)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/option.h:68: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 option[8]; /* current flag {-,+} + option */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/option.h:69: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 name[64]; /* current long name or flag */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/option.h:73: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 pads[sizeof(void*)-1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/sfio_t.h:38: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 tiny[1];/* for unbuffered read stream */ \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:94: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 name[NAMSIZ]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:95: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 mode[TMODLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:96: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 uid[TUIDLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:97: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 gid[TGIDLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:98: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 size[TSIZLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:99: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 mtime[TMTMLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:100: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 chksum[TCKSLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:102: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 linkname[NAMSIZ]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:103: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 magic[TMAGLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:104: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 version[TVERSLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:105: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 uname[TUNMLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:106: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 gname[TGNMLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:107: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 devmajor[TDEVLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:108: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 devminor[TDEVLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:109: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 prefix[PFXSIZ]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/tar.h:114: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 dummy[TBLOCK]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:379: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(cmd->nextstr, file, len); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdlib.h:53: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]; /* argv and arg buffer */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/conformance.c:82:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(m, sfstrbase(sp), i); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:691: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 w[4]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:1024: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(fp->encode.path, path, len); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:67: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 bigram1[(1<<(CHAR_BIT-1))]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:68: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 bigram2[(1<<(CHAR_BIT-1))]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:69: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:70: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 temp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:71: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 pattern[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:81: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 bigram[2*FF_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:84: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:85: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 mark[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:86: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 file[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:87: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 temp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/findlib.h:101: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fmtrec.c:38: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 del[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fs3d.c:44: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 val[sizeof(FS3D_off) + 8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:93: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 name[sizeof(int)]; /* fts_name data */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:215: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(f->fts_name, name, namelen + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:469: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:730: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(newp, old, n_old); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:784: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(fts->parent->fts_accpath = fts->parent->fts_path = fts->parent->fts_name = fts->parent->name, ".", 2); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:923:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(fts->base, f->name, fts->baselen + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:947: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(fts->base + fts->baselen, "/.", 3); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:1062: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(fts->endbase, s, i + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:1334: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(fts->endbase, s, f->fts_namelen + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:171: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 dots[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:197: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. return (char*)memcpy(buf, p, namlen); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:295:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(d, entry->d_name, namlen + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:309:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, env[n].path, namlen); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:312: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(p, entry->d_name, namlen); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/glob.c:783:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(argv, gp->gl_pathv, skip * sizeof(char*)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:54: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 name[16]; /* identifier name */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:158: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 fbuf[SF_BUFSIZE + 1]; /* file data */ \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:159: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 xbuf[SF_BUFSIZE + 1]; /* indirect file data */ \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:160: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 nbuf[256]; /* !CC_NATIVE data */ \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:161: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 mbuf[64]; /* mime string */ \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:162: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 sbuf[64]; /* type suffix string */ \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:163: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 tbuf[2 * PATH_MAX]; /* type string */ \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:382: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[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:690: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. p = (char*)memcpy(mp->nbuf, p, c); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:729: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. p = (char*)memcpy(mp->nbuf, p, ep->mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:2085: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(ep->value.str, p, ep->mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:2093: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(ep->value.str, p, ep->mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:50: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 data[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:58: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:388: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[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:126: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 text[1]; /* saved text text */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:175:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char map[UCHAR_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:392: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. static char buf[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:440: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 section[4]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:835: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:3518: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 rd[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:3519: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 ud[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:3737: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 ud[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:4953: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(&opt_info.option[1], a, b - a); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:5077:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&opt_info.option[1], f, b - f); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optlib.h:65: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 section[4]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optlib.h:76: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 flags[sizeof(OPT_FLAGS)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optlib.h:108: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 pad[2*sizeof(void*)]; \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:200: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 ((arg2 = open(s, O_RDWR)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:410: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:411: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 env[PATH_MAX + 2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procrun.c:44: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/setenviron.c:84: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). close(open(".", O_RDONLY|O_cloexec)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/stk.c:455: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 buff[40], *tp=buff; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/stk.c:467: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(tp, stream->_data, off); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/stk.c:483:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(stream->_data, tp, off); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/stk.c:555: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(cp,(char*)stream->_data,m); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/systrace.c:39: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/systrace.c:59:22: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). ov[0] = PROC_FD_DUP(open("/dev/null", O_WRONLY), 2, PROC_FD_PARENT|PROC_FD_CHILD); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:51: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 name[1]; /* catalog name */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:60: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 text[1]; /* message text */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:76: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 null[1]; /* null string */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:134: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:237: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:248: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. s = (char*)memcpy(buf, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/obsolete/spawn.c:88: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathaccess.c:54: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 cwd[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c:162: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathexists.c:45: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathfind.c:40: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 dir[1]; /* directory path */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathfind.c:89: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 tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathgetlink.c:61:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.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[15]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:68: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 tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:59:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:63:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, tmp, n + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:87:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, path, n + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:116:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, path, n + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:55: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:111: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 + 1, "bin"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:59:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:63:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, tmp, n + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:87:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, path, n + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:118:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, path, n + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:117: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:118: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 cmd[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:119: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 exe[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:120: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 lib[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:121: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 ver[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:122: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 key[16]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:169:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(path + n, ".ini"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprog.c:112: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(path, s, n + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathsetlink.c:43: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 tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathshell.c:79:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dir[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:116: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 keybuf[16]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:325: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). if ((n = open(b, O_CREAT|O_RDWR|O_EXCL|O_TEMPORARY, tmp.mode)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:93: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 null[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.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 root[2] = "/"; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:488: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(fp->value, value, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:779: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(fp->value, value, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1016: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1017: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 flg[16]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1154:42: [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 (streq(p->name, "RELEASE") && (i = open("/proc/version", O_RDONLY|O_cloexec)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1387: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). ops[0] = PROC_FD_DUP(open("/dev/null",O_WRONLY,0), 2, PROC_FD_CHILD); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1502: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 altname[ALT]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1590: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 flg[8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:202: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 cc[3]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:437: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 path[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:451:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(path, parent, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c: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 ((i = open(file, O_RDONLY|O_cloexec)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:466: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). i = open(file, O_RDONLY|O_cloexec); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:516: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 tmpbuf[COMLINE]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.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 info[8 * 1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astwinsize.c:132: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). if ((fd = open("/dev/tty", O_RDONLY|O_cloexec)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:389: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 lang[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:390: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 code[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:391: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 ctry[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:445: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[PATH_MAX / 2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:446: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 tmp[PATH_MAX / 2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:616: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((char*)lp->code, s, z - 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:829: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[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lcgen.c:212: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[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lcgen.c:291: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lcgen.c:300:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!(hf = fopen(hdr, "w"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lcgen.c:305:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!(lf = fopen(lib, "w"))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lclib.h:47: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 indices[LC_territory_language_max]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:70: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 file[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:221: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[MC_MAGIC_SIZE]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:56: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[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:58: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 typ[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:59: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 opt[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:107: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 drive[4]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:166: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 opt[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:349: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 remote[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:350: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 type[16]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:629: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 mnt_fsname[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:630: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 mnt_dir[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:631: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 mnt_type[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:632: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 mnt_opts[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:649: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[MNTBUFSIZE]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mnt.c:703: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. static char typ[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/getpreroot.c:51: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/getpreroot.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 dots[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/getpreroot.c:144: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(d, entry->d_name, namlen + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/getpreroot.c:150:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, entry->d_name, namlen); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/realopen.c:36: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[PATH_MAX + 8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/realopen.c:40: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). return(open(buf, mode, perm)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/setpreroot.c:43: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcoll.c:52: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 xfm[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcoll.c:53: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 tmp[sizeof(xfm)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcoll.c:105:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, t, r); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:61: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 nam[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:1186: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 buf[4 * (COLL_KEY_MAX + 1)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:1189: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 mbc[COLL_KEY_MAX + 1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:1438: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 cb[2][COLL_KEY_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:1927: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 tmp[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:2598: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 buf[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:2653: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((char*)(e->re.string.base = (unsigned char*)e->re.data), (char*)buf, i); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:2669: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((char*)(f->re.string.base = (unsigned char*)f->re.data), (char*)p, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:2684: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((char*)(e->re.string.base = (unsigned char*)e->re.data), (char*)buf, c); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:3205:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char*)(a->re.string.base = (unsigned char*)&f[n]), (char*)s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcomp.c:3437: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(s, pattern, size); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regdecomp.c:86: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 ic[2*UCHAR_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regdecomp.c:87: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 nc[2*UCHAR_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regdecomp.c:312: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 pfx[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regdecomp.c:443:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, s, r); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regfatal.c:35: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[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/reglib.h:57: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 re_rhs[1]; /* substitution rhs */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/reglib.h:273: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. typedef unsigned char Ckey_t[COLL_KEY_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/reglib.h:360: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 bits[(UCHAR_MAX+1)/CHAR_BIT]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/reglib.h:549: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 fold[UCHAR_MAX+1]; /* REG_ICASE map */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c:195: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 data[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c:238:106: [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 matchcopy(e,x) do if ((x)->re.group.number) { Match_frame_t* fp = (void*)stkframe(stkstd)->data; memcpy(fp->match, fp->save, fp->size); } while (0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c:239:105: [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 matchpop(e,x) do if ((x)->re.group.number) { Match_frame_t* fp = (void*)stkframe(stkstd)->data; memcpy(fp->match, fp->save, fp->size); stkpop(stkstd); } while (0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c:664: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((char*)key, (char*)s, w); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c:1062:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&env->best[1], &env->match[1], r * sizeof(regmatch_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regnexec.c:1070:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(env->bestpos->vec, env->pos->vec, n * sizeof(Pos_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regsubexec.c:62: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((b)->re_cur, x, z); \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfdisc.c:96: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, dcca->data, sz); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfdisc.c:182:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dcca->data, f->next, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfecvt.c:35: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. static char buf[SF_MAXDIGITS]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sffcvt.c:35: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. static char buf[SF_MAXDIGITS]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfflsbuf.c:99: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((char*)f->data,(char*)data+w,n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:116: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). #define sysopenf open data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:264: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). #define sysopenf open data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:315:25: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define SFMBCPY(to,fr) memcpy((to), (fr), sizeof(mbstate_t)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:329:25: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define SFMBCPY(to,fr) memcpy((to), (fr), sizeof(mbstate_t)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:481: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/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1142:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define memcpy(to,fr,n) bcopy((fr),(to),(n)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1142: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 memcpy(to,fr,n) bcopy((fr),(to),(n)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1154:14: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. { default : memcpy((Void_t*)to,(Void_t*)fr,n); to += n; fr += n; break; \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1238: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. #ifndef memcpy data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1239: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 Void_t* memcpy _ARG_((void*, const void*, size_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1280:13: [2] (buffer) bcopy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. extern void bcopy _ARG_((const void*, void*, size_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1293: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. extern pid_t vfork _ARG_((void)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmode.c:148:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((Void_t*)array,(Void_t*)p->sf,p->n_sf*sizeof(Sfio_t*)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmode.c:186: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(rs,rsrv,sizeof(Sfrsrv_t)+rsrv->slen); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmode.c:337:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((Void_t*)p->rdata,(Void_t*)f->next,p->ndata); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmode.c:345: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((Void_t*)f->data,(Void_t*)p->rdata,p->ndata); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmove.c:193:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((Void_t*)fr->data,(Void_t*)cp,w); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfmove.c:203: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((Void_t*)fw->next,(Void_t*)next,r); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpkrd.c:230:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tst[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpool.c:141: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(head->data,(head->data+w),v); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpool.c:150:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(f->data,(head->data+k),v); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:40: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 Meta[1<<CHAR_BIT], **Path; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfprintf.c:82: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(s, f->data, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfprints.c:101: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(*sp, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputr.c:70: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(ps, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputr.c:89: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(rsrv->data, s, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfrd.c:204: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,f->next,n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfread.c:95:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(s, f->next, r); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfswap.c:91: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_t*)(&tmp),(Void_t*)f1,sizeof(Sfio_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfswap.c:92: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_t*)f1,(Void_t*)f2,sizeof(Sfio_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfswap.c:93: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_t*)f2,(Void_t*)(&tmp),sizeof(Sfio_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:342: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(&savft, ft, sizeof(*ft)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:372:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ft,&fp[n].ft,sizeof(Sffmt_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:377:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&fp[n].ft,ft,sizeof(Sffmt_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:379: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(ft,&savft,sizeof(Sffmt_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:412: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(ft,&savft,sizeof(Sffmt_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:417: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(&savft,ft,sizeof(Sffmt_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:465: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(ft,&savft,sizeof(Sffmt_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:525: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((char*)&_Sffnan, (char*)flt_nan, sizeof(_Sffnan)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:526: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((char*)&_Sffinf, (char*)flt_inf, sizeof(_Sffinf)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:527: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((char*)&_Sfdnan, (char*)dbl_nan, sizeof(_Sfdnan)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:528: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((char*)&_Sfdinf, (char*)dbl_inf, sizeof(_Sfdinf)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:530: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((char*)&_Sflnan, (char*)ldbl_nan, sizeof(_Sflnan)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:531: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((char*)&_Sflinf, (char*)ldbl_inf, sizeof(_Sflinf)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:533: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((char*)&_Sflnan, (char*)dbl_nan, sizeof(_Sfdnan)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:534: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((char*)&_Sflinf, (char*)dbl_inf, sizeof(_Sfdinf)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:50: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 name[1]; /* temp file name */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:334: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_t*)(&savf), (Void_t*)f, sizeof(Sfio_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:335: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_t*)f, (Void_t*)sf, sizeof(Sfio_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfungetc.c:97:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char*)(data+16),(char*)f->data,f->size); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvprintf.c:114: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 *tls[2], **ls; /* for %..[separ]s */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvprintf.c:128: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[SF_MAXDIGITS+SLACK], tmp[SF_MAXDIGITS+1], data[SF_GRAIN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvscanf.c:125:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. { char ok[SF_MAXCHAR+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvscanf.c:245: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 b[16]; /* assuming that SFMBMAX <= 16! */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvscanf.c:250:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. { memcpy(sc->f->data, sc->d, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfwrite.c:63:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[16]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fopen.c:27:1: [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(const char* path, const char* mode) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getdelim.c:79: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(s+m, ps, k); m += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/tmpfile.c:27:1: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). tmpfile(void) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfwscanf.c:30: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 fmt[1]; /* mb fmt */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfwscanf.c:68:2: [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 wuf[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vfwscanf.c:94: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vsnprintf.c:43:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(s, f->data, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/base64.c:42:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char map[UCHAR_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/base64.c:61: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 tmp[B64_EC * B64_CHUNK]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/ccmap.c:617: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 map[MAP]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/ccmap.c:696: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(b, a, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/ccnative.c:40: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. return memcpy(b, a, n * (UCHAR_MAX + 1)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/ccnative.c:53:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(cb + n * c, ca + n * m[c], n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtbuf.c:33: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 buf[16 * 1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfmt.c:63: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 formats[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfs.c:53: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtgid.c:52: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtident.c:72:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf, s, i); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtint.c:112: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(buff+k,table+3*m,3); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtip6.c:41: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. static char buf[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtip6.c:87: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 r[IP6ADDR]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtnum.c:42: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 suf[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtscale.c:41: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 suf[3]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtuid.c:52: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/memdup.c:41:45: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return((t = (void*)newof(0, char, n, 0)) ? memcpy(t, s, n) : 0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strdup.c:59:68: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return (s && (t = oldof(0, char, n = strlen(s) + 1, 0))) ? (char*)memcpy(t, s, n) : (char*)0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strerror.c:63: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 tmp[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strgid.c:59: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:38: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 mtrewind[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:39: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 mtbehavior[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtape.c:41: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. static char tapefile[sizeof("/dev/Xrmt/123456789")]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strtoip6.c:54: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 unsigned char lex[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/struid.c:55: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/swapget.c:43: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 tmp[sizeof(intmax_t)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/swapmem.c:49:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(t, f, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/swapop.c:44: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 tmp[sizeof(intmax_t)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/tokscan.c:67: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 empty[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c:91: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 TZ[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c:218: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]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:43: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 null[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:356: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[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:383: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). clock_24 = atoi(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:386: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). leading_0 = atoi(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:423:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(s - 1, " %X"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:565: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:600:14: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if (tp && memcpy(s, sfstrbase(tp), n) || !tp && sfread(sp, s, n) == n) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmweek.c:32:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char offset[7][3] = data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxdate.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 skip[UCHAR_MAX + 1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxdate.c:553:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hit[60]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxdate.c:554:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mon[13]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxdate.c:555:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char day[7]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxfmt.c:122: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 argbuf[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxfmt.c:123: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 fmt[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmzone.c:56: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. static char off[16]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:150: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). if ((fd = open(path, O_WRONLY|O_CREAT|O_TRUNC|O_cloexec, mode)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:254: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). if ((fd = open(path, O_RDWR|O_cloexec)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:274: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). if ((fd = open(path, O_WRONLY|O_CREAT|O_TRUNC|O_cloexec, mode)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/a64l.c:43:8: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char letter[65] = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/a64l.c:64: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. static char buff[7]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:244: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 b[8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:384:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char S[8][64] = { /* 48->32 bit substitution tables */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:457:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static unsigned char a64toi[128]; /* ascii-64 => 0..63 */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:478: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 cryptresult[1+4+4+11+1]; /* encrypted result */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:489: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 p[64], int chars_in, int chars_out) { data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:513: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 unsigned char perm[64], tmp32[32]; /* "static" for speed */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:548: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 pc2inv[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:852: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 buff[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/getpass.c:54: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. static char *cp, passwd[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:174:3: [2] (buffer) bcopy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, hp->h_length); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:205:4: [2] (buffer) bcopy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. bcopy(hp->h_addr_list[0], (caddr_t)&sin.sin_addr, data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:233: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 num[8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:322: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 fhost[MAXHOSTNAMELEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:342:34: [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). hostf = superuser ? (FILE *)0 : fopen(_PATH_HEQUIV, "r"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:355: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 pbuf[MAXPATHLEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:361: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. (void)strcat(pbuf, "/.rhosts"); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:363: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). if ((hostf = fopen(pbuf, "r")) == NULL) { data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:384: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 ahost[MAXHOSTNAMELEN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:473:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char ldomain[MAXHOSTNAMELEN + 1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rlib.h:80:13: [2] (buffer) bcopy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. extern void bcopy(const void*, void*, size_t); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vec/vecfile.c:48: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). if ((fd = open(file, O_RDONLY|O_cloexec)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:212: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. static char buf[512]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:401: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 slop[64]; /* to absorb any extra data in Vmdcsystem */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:458:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&Regdisc, Vmdcsystem, Vmdcsystem->size); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:557:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, data, copy); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:713:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ns,s,n+1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:729: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 array[ALIGN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:742:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. { char array[ALIGN]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:1196: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:1231:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(file, O_WRONLY|O_CREAT|O_TRUNC, CREAT_MODE); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:1277: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmbest.c:937: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(data, oldd, bs); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmbest.c:1231: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). if((fd = open("/dev/zero", O_RDONLY)) < 0 ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:40: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 file[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:111: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[1024], *bufp, *endbuf, *s; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:702: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[1024], *bufp; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmhdr.h:232:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. { char data[MULTIPLE(ALIGNA,ALIGNB)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmhdr.h:511: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. extern Void_t* memcpy _ARG_(( Void_t*, const Void_t*, size_t )); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmlast.c:226:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(addr, data, ds); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:95: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 file[1];/* file name */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:105: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 file[1];/* backing store/ftok() */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:113: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 mesg[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:118: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(mesg, "Project: %10d\n", mmdc->proj); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:119: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(mesg, "Memory: %#010lx\n", mmdc->mmvm); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:120: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(mesg, "Size: %10d\n", mmdc->size); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:121: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(mesg, "Shmid: %10d\n", mmdc->shmid); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:123: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(mesg, "File header:\n"); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:124: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(mesg, "Magic: %10d\n", mmdc->mmvm->magic); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:125: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(mesg, "Base: %#010lx\n", mmdc->mmvm->base); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:126: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(mesg, "Size: %10d\n", mmdc->mmvm->size); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:127: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(mesg, "Busy: %10d\n", mmdc->mmvm->busy); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:177: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((fd = open(mmdc->file, O_RDWR|O_CREAT, FILE_MODE)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmopen.c:80: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(&vmp->meth, meth, sizeof(Vmethod_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmopen.c:166: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(vm, vmp, sizeof(Vmalloc_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmprofile.c:67: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 f[1]; /* actual file name */ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmprofile.c:365: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[1024], *bufp, *endbuf; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmstrdup.c:45:61: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. return (s && (t = vmalloc(v, n = strlen(s) + 1))) ? (char*)memcpy(t, s, n) : (char*)0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:36: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 Trbuf[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:49: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,n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:111: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[1024], *bufp, *endbuf; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:205: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[1024], *bufp; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cat.c:141: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 meta[3]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cat.c:142: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 tmp[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cat.c:189:10: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tmp, pp, c); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cat.c:212:10: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tmp + c, cp, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cat.c:406: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 states[UCHAR_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chgrp.c:163: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[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chgrp.c:174: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. *((s = (char*)memcpy(buf, s, n)) + n) = 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chgrp.c:195:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. *((s = (char*)memcpy(buf, s, n)) + n) = 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cmd.h:103: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[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cmp.c:94: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[10]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:196: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 text[PATH_MAX]; /* link text buffer */ data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:199: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 dot[2] = { '.' }; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:299:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(s, base, len); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:330: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(state->path + state->postsiz, base, len); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:370: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(state->path + state->postsiz, base, len); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:413: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(state->path + state->postsiz, base, len); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:453: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). if (S_ISLNK(st.st_mode) && (n = -1) || (n = open(state->path, O_RDWR|O_BINARY|O_cloexec)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:593:46: [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 (ent->fts_statp->st_size > 0 && (rfd = open(ent->fts_path, O_RDONLY|O_BINARY|O_cloexec)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:598:20: [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). else if ((wfd = open(state->path, (st.st_mode ? (state->wflags & ~O_EXCL) : state->wflags)|O_cloexec, ent->fts_statp->st_mode & state->perm)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:885: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(v, argv, (argc + 1) * sizeof(char*)); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:974: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(state->path, file, state->postsiz + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cut.c:99: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 space[UCHAR_MAX+1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cut.c:379: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 mb[8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/date.c:224: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/date.c:288: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/dirname.c:102: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/expr.c:145: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 opname[3]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/expr.c:180: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[36]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/expr.c:402: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 buff1[36],buff2[36]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fds.c:181: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 num[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fds.c:182: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 fam[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fds.c:184: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 nam[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fmt.c:211: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(fp->outp, cp, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fmt.c:242: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[8192]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fmt.c:570: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 outbuf[8 * 1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fold.c:177: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 cols[1<<CHAR_BIT]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c:152: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[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/join.c:148: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 state[1<<CHAR_BIT]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/join.c:711: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(jp->same, cp2, o2 = n2); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mktemp.c:79: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 path[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mktemp.c:140: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(dir, pfx, i); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/paste.c:183: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 defdelim[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/pathchk.c:108: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]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/pathchk.c:123:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/revlib.c:40: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 buff[BUFSIZE]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rm.c:97: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[SF_BUFSIZE];/* clobber buffer */ data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rm.c:287: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). if ((n = open(path, O_WRONLY|O_cloexec)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/stty.c:122: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 name[8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/stty.c:128: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 description[76]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/stty.c:472: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 schar[2]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/tee.c:180: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). while ((*hp = open(cp, oflag, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)) < 0 && errno == EINTR) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.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 nodename[MAXHOSTNAME]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.c:154: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 buf[sizeof(hosttype)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.c:263: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[257]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uniq.c:100:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. bufp = memcpy(fmtbuf(n + 1), bufp, n); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uniq.c:197: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(sbufp,outp+CWIDTH+1,outsize); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uniq.c:236: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(outp+cwidth+sep,bufp,n); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/wc.h:44: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 type[1<<CHAR_BIT]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/wclib.c:180: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 side[32]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/wclib.c:197:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(side, cp, o); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/wclib.c:213: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(cp, buff, c); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coinit.c:406: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(co->init.script, sfstrbase(sp), n); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cokill.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 buf[CO_BUFSIZ]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/colib.h:73: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:163: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 devfd[16]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:164: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 evbuf[sizeof(CO_ENV_MSGFD) + 8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cosync.c:45:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp[PATH_MAX]; data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cosync.c: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). if ((td = open(tmp, O_WRONLY|O_CREAT|O_TRUNC|O_cloexec, 0)) >= 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cosync.c:75: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 ((td = open(file, mode|O_cloexec)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cosync.c:90:36: [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 (!file || mode < 0 || (fd = open(file, O_RDONLY|O_cloexec)) < 0) return(-1); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cowait.c:145: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[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:214: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 *symname,symbuf[9]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:224: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(symbuf,ldsym->l_name,8); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:328: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 path[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:469: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[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c:35: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 base[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c:116: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[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlllib.h:31: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 errorbuf[128]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlllook.c:38: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[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllnext.c:71: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 dummy[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllnext.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 buf[1024]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:28: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 sibbuf[64]; \ data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:29: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 envbuf[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:50: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 nam[64]; \ data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:51: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 pat[64]; \ data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:52: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[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:68: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 name[1]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:96: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 pat[256]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:139: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(pat, p, pn); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:146: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.sibbuf, d, dn); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:151: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.envbuf, v, vn); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:222: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]; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.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(scan->pb, name, t - (char*)name); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:283: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(t, name + j, i); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:297: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(s, name, t - (char*)name); data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-ast4.c:48: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 buf[sizeof(Ast4_sum_t)]; data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-lmd.c:37: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 total[64]; \ data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-lmd.c:38: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 data[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-lmd.c:201: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 pad[1024]; /* XXX: who's bug is it? */ data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c:44: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 buffer[64]; /* input buffer */ data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c:45: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 digest[16]; /* final digest */ data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c:46: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 digest_sum[16]; /* sum of all digests */ data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c:180:40: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. md5_transform(UINT4 state[4], unsigned char block[64]) data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c:289: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(&context->buffer[index], input, partLen); data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c:299: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(&context->buffer[index], &input[i], inputLen - i); data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-md5.c:308: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 bits[8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha1.c:75: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 c[64]; data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha1.c:152:50: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. sha1_transform(uint32_t state[5], const unsigned char buffer[64]) { data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha1.c:158:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. (void)memcpy(block, buffer, 64); data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha1.c:220:10: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. (void)memcpy(&sha->buffer[j], data, (i = 64 - j)); data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha1.c:229: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. (void)memcpy(&sha->buffer[j], &data[i], len - i); data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha1.c:275: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 finalcount[8]; data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha2.c:223:29: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. #define MEMCPY_BCOPY(d,s,l) memcpy((d), (s), (l)) data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha2.c:227:29: [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 MEMCPY_BCOPY(d,s,l) bcopy((s), (d), (l)) data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sumlib.c:48: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). Sum_t* (*open)(const struct Method_s*, const char*); data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sumlib.c:288: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). return (*methods[n].open)(&methods[n], name); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:436: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). return appendn(buf, str, strlen(str)); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:451: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:541: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 (!(root = newof(0, Dict_item_t, 1, strlen(name)))) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:690: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). p = state.pwd + strlen(state.pwd); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:710: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:711: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). if (!(vp = newof(0, View_t, 1, strlen(p) + n + 1))) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1127: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 (*state.input && *(e = state.input + strlen(state.input) - 1) == '\n') data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1501:17: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((c = fgetc(f)) == ' ' || c == '\t' || c == '\n'); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1507:19: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). } while ((c = fgetc(f)) != EOF && c != ' ' && c != '\t' && c != '\n'); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1685: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). s = v + strlen(v) - 1; data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/mamake.c:1944: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). t = s + strlen(s); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:491:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). extern __MANGLE__ int read __PROTO__((int, __V_*, int)); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:1831:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = read(i, info, size - 1); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:2996:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((n = read(proto->fd, ip, proto->iz)) > 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4509:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = read(fd, proto->ip, proto->iz); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4762:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). else if ((n = read(proto->fd, proto->ob, proto->oz)) <= 0 || (proto->options & (1L<<0)) && n < proto->oz) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:4784:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). else if ((n = read(proto->fd, ip, proto->iz)) <= 0 || (proto->options & (1L<<0)) && n < proto->iz) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/proto.c:5271:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). for (b = buf; (n = read(fd, b, 1)) > 0 && *b != '\n' && b < &buf[sizeof(buf) - 1]; b++); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:113:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define read _read data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:3714: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). s->path = (char*)ALLOC(strlen(path)+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4557:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(path, &command[n], PATH_MAX - 4); data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4885:11: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((c = getchar()) == EOF) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:4926:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (lseek(0, (off_t)(-4), SEEK_END) < 0 || read(0, num, 4) != 4) data/ksh-2020.0.0+really93u+20120801/src/cmd/INIT/ratz.c:5112: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). n = (int)strlen(s = path); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/cd_pwd.c:129: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). sp = oldpwd + strlen(oldpwd); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/cd_pwd.c:216: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). flag = strlen(dir); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/cd_pwd.c:266: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). cp = strcpy(stakseek(strlen(cp)+PATH_MAX),cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/enum.c:239: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). sz += strlen(nv_getval(np)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/enum.c:255: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). n = strlen(sp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/hist.c:303:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if(read(fd,string,c)!=c) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/mkservice.c:351: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). register int n = strlen(event) - 1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:602: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). size = strlen(cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:624: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). size = strlen(cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:633: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). size = strlen(cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/print.c:647: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). n = strlen(str); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:153: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). r = strlen(name++); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/read.c:740:55: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). register unsigned char *vp = (unsigned char*)val + strlen(val); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/test.c:105: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). match[1] = strlen(str); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/test.c:365: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). if(*arg==0 || arg[strlen(arg)-1]=='/' || lstat(arg,&statb)<0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/typeset.c:793: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(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/typeset.c:1239:52: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if((ap=nv_arrayptr(np)) && !ap->fixed && name[strlen(name)-1]==']' && !nv_getsub(np)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/typeset.c:1241: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). if(nv_isarray(np) && name[strlen(name)-1]==']' && !nv_getsub(np)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/typeset.c:1326: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). cp += strlen(tp->wctname)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/typeset.c:1482: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); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/umask.c:77:11: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). flag = umask(0); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/umask.c:81:5: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(flag); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/umask.c:86:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(flag); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/umask.c:90:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(flag=umask(0)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/bltins/umask.c:90:14: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(flag=umask(0)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/builtins.c:115:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). "read", NV_BLTIN|BLT_ENV, bltin(read), data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/builtins.c:118:37: [1] (obsolete) ulimit: This C routine is considered obsolete (as opposed to the shell command by the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2), setrlimit(2), and sysconf(3) instead. "ulimit", NV_BLTIN|BLT_ENV, bltin(ulimit), data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/data/builtins.c:119:36: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). "umask", NV_BLTIN|BLT_ENV, bltin(umask), data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:335:83: [1] (buffer) strlen: Does not handle 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 (*com==0 || (narg <= 1 && (strcmp(ap->argval,*com)==0) || (addstar && com[0][strlen(*com)-1]=='*'))) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:374: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). size += strlen(*com); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:382: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). size += strlen(cp=fmtx(*com++)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:467: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(cp[strlen(cp)-1]!='/') data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:529: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(out) > LOOKAHEAD ) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:538:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char*)buff,out,LOOKAHEAD); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/completion.c:540: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). i = strlen((char*)buff); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:765:52: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(ep->e_term && (term=nv_getval(ep->e_term)) && strlen(term)<sizeof(ep->e_termname) && strcmp(term,ep->e_termname)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:769:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(CURSOR_UP,pp,sizeof(CURSOR_UP)-1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:778: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). n = strlen(pp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:910:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rv = read(fd,buff,size); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:920:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rv = read(fd,buff,rv>0?rv:1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1595:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(inbuff,cp,bufsize); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1597: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). insize = strlen(inbuff); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1679: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). cp = stakalloc(m=strlen(pattern)+6); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1683: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). m = strlen(ep->hpat)-4; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/edit.c:1700: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). if((m=strlen(cp)) >= sizeof(ep->hpat)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:96:27: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). # define genncpy(a,b,n) strncpy((char*)(a),(char*)(b),n) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:97: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). # define genlen(str) strlen(str) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:733: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). i = (int)strlen(buff); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1184:6: [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(hbuf, ")"); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1195:7: [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(hbuf, ")"); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/emacs.c:1300:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(lstring,((char*)string)+2,SEARCHSIZE); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/hexpand.c:620: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). str = cc + strlen(sb.str[0]); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:184:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if((n = read(fd, logbuf,len-1)) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:441:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if((read(fd,(char*)magic,2)!=2) || (magic[0]!=HIST_UNDO)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:474: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). tmpname = (char*)malloc(strlen(name)+14); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/history.c:1023: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). n = strlen(string); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:78:27: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). # define genncpy(a,b,n) strncpy((char*)(a),(char*)(b),n) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:79: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). # define genlen(str) strlen(str) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:2200: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). register size_t len=strlen(string); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:2205: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). for(dp=(char*)vp->u_space,dpmax=dp+strlen(dp)-len; dp<=dpmax; dp++) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/edit/vi.c:2280:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(lsearch, ((char*)virtual)+1, SEARCHSIZE); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:213:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). # define read(fd,buff,n) syscall(3,fd,buff,n) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/edit.h:215:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). # define read(fd,buff,n) rEAd(fd,buff,n) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shell.h:241:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). # define read(a,b,c) sh_read(a,b,c) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/shell.h:243:12: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). # define umask(a) sh_umask(a) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/include/ulimit.h:58:21: [1] (obsolete) ulimit: This C routine is considered obsolete (as opposed to the shell command by the same name, which is NOT obsolete) (CWE-676). Use getrlimit(2), setrlimit(2), and sysconf(3) instead. # define vlimit ulimit data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/mamstate.c:63:15: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((c = getchar()) != EOF && c != ' ' && c != '\n') data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/args.c:526: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). size += strlen(sp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/args.c:612: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). if(c<(w=strlen(name))) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/args.c:675: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). sfnputc(sfstdout,' ',24-strlen(name)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/arith.c:217: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). return(sh_mathstdfun(name,strlen(name),NULL)!=0); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/array.c:897: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). size_t n = strlen(tname)-1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/expand.c:252: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). suflen = strlen(suffix); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:910:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). register const char *cp = e_version + strlen(e_version)-10; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:1268: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). n = strlen(e_version); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:1309:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(shp->mask=umask(0)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:1309:18: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(shp->mask=umask(0)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:2032: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). size += strlen(cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:2048: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). size = strlen(np->nvname); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:2086: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). size = strlen(dp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/init.c:2219: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). n += strlen(name)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1179:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). struct argnod *ap = (struct argnod*)stakalloc(ARGVAL+strlen(iop->ioname)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:1187:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). struct argnod *ap = (struct argnod*)stakalloc(ARGVAL+strlen(iop->ioname)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2005: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). rsize = strlen(buff); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2054:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if(read(fd,"",0) < 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2218: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). write(ERRIO,z,strlen(z)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2345: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->slen = len = strlen(cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2455: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((j=strlen(*arg)) > i) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2484: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). sfnputc(outfile,' ',fldsize-strlen(*arg)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2490:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #undef read data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2501:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return(read(fd,buff,n)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2580:8: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). #undef umask data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/io.c:2585:9: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). return(umask(m)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c:291: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). n = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c:1050: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). msize = strlen(msg); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/jobs.c:1060: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). msize += strlen(msg); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c:2240: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). dp = ep+ strlen(ep); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/lex.c:2273: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). n = strlen(msg); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:981: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). id = (char*)malloc(strlen(cp)+1+(n=strlen(sp=nv_name(np)))+ (sub?strlen(sub)+3:1)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:981: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). id = (char*)malloc(strlen(cp)+1+(n=strlen(sp=nv_name(np)))+ (sub?strlen(sub)+3:1)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:981:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). id = (char*)malloc(strlen(cp)+1+(n=strlen(sp=nv_name(np)))+ (sub?strlen(sub)+3:1)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:987: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(sub)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1499: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). dolmax = strlen(id); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1697: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). vsize = v?strlen(v):0; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1736: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). vsize = v?strlen(v):0; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1777: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). replen = strlen(repstr); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1808: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). vsize = strlen(v); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1850: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). mac_copy(mp,v,vsize>0?vsize:strlen(v)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:1857: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). mac_copy(mp, v, strlen(v)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2069: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). mac_copy(mp,str,strlen(str)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2512: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). size = len = strlen(sp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/macro.c:2580: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). return(strlen(string)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:250: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). iop = sfnew(NIL(Sfio_t*),shp->comdiv,strlen(shp->comdiv),0,SF_STRING|SF_READ); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:325: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). shp->comdiv = (char*)malloc(strlen(name)+7); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:732: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). command_len += strlen(cp)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:743: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). command_len += strlen(cp)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/main.c:754: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). if(offset + (size=strlen(cp)) >= command_len) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:228: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). i = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:277: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). int len = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:744: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). stakseek(offset + strlen(name)+n+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:747: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). m = strlen(cp)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:990: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). copy = strlen(cp=nv_name(np)); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1103: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). n = strlen(sub)+2; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1447: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). xp->len = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1887: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). dot = strlen(sp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1935: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). append = strlen(up->cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:1989: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). dp = strlen (cp) + cp; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2023: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). n = strlen(str); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2121: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). q = stakalloc(strlen(nv_name(np))+(value?strlen(value):0)+2); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2121: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). q = stakalloc(strlen(nv_name(np))+(value?strlen(value):0)+2); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2205: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). ap->attsize += (strlen(nv_name(np))+4); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2292:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int n = strlen(tp->mapname); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:2457: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(np->nvname); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3060: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). cp = (char*)malloc((n=strlen (sp)) + 8); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3256:57: [1] (buffer) strlen: Does not handle 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(nvenv || (cp = nv_name(np)) && nv_isarray(np) && cp[strlen(cp)-1] == ']') data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3266: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). arraynr = cp[strlen(cp)-1] == ']'; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3456: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). ep[n=strlen(ep)-1] = 0; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/name.c:3647: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). int n = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvdisc.c:832: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). register Namval_t *np = newof(0,Namval_t,1,s=strlen(name)+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:148: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). int c,len=strlen(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:190: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). c = strlen(cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:334: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(cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:701: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). if(*name!='.' || vname[strlen(vname)-1]==']') data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:820: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). m = strlen(prefix); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:824: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). m = strlen(prefix)-1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:889:72: [1] (buffer) strlen: Does not handle 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(outfile && !wp->nofollow && argv[1] && memcmp(arg,argv[1],l=strlen(arg))==0 && argv[1][l]=='[') data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:1006: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(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:1011: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). name[strlen(name)-1] = 0; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtree.c:1020: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(cp)<=len) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:510: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). int m=strlen(np->nvname); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:689: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). n = strlen(nq->nvname); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:701: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). for(n=strlen(buffer); n>0 && buffer[n-1]==' '; n--); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:773: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). sp += strlen(pp->fun.type->nvname)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:862: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). m = strlen(mp->nvname)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:876: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). size += strlen(np->nvname+m)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:886: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). size += strlen((char*)np->nvenv)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:920: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). size += n + dp->numnodes*(strlen(&np->nvname[m])+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:921: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). n = strlen(np->nvname); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:928: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). size += (n=strlen(name=np->nvname)-m+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1454: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). m = strlen(fp->name)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1464:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). errormsg(SH_DICT,ERROR_exit(1),e_unknowntype,strlen(fp->type),fp->type); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1494: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). m = strlen(fp->name)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1522: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). n = strlen(nr->nvname)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1657: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). write_indent(out,cp,strlen(cp)-1,indent); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/nvtype.c:1659: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). sfprintf(out,"%.*s",strlen(cp)-1,cp); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c:155: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). n = strlen(argp->argval); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c:825: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). size += strlen(cp)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c:889: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). flag = ARGVAL + strlen(lexp->arg->argval); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/parse.c:950: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). n = strlen(ap->argval)-1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:164: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). size -= strlen(cp)-1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:166: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). size -= strlen(cp)-1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:168: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). size -= strlen(cp)-1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:176: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). left -= strlen(*av++)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:565: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). int len=strlen(name)+1,dirlen=0; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:570: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). dirlen = strlen(pwd)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:942: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(errno==ENOENT && (!(cp=strrchr(path,'.')) || strlen(cp)>4 || strchr(cp,'/'))) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1079: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). if(buff[0]=='.' && buff[1]=='.' && (r = strlen(path) + 1) <= PATH_MAX) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1151: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). char *sp = (char*)malloc(strlen(path)+3); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1297:4: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(name+9,fmtbase((long)getpid(),10,0),sizeof(name)-10); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1390:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(sabuf.ac_comm, (char*)path_basename(cmdname), data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1463: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/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/path.c:1521:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n=read(fd,cp=sp,n); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/streval.c:930: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). ep->elen = strlen(string); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/string.c:478: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 (!cp || !*cp || !fold || fold && strlen(string) < fold) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/subshell.c:278: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 len = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/subshell.c:768:4: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(shp->mask=sp->mask); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:407:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(pv[0],pv,1); /* wait for clone to close pipe */ data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/suid_exec.c:499:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((n = read(fdi,buffer,BLKSIZE)) > 0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/tdump.c:163: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). if((n = strlen(arg->argval)) || (arg->argflag&~(ARG_APPEND|ARG_MESSAGE|ARG_QUOTED))) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/tdump.c:168: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). n = strlen(fp->fornam)+1; data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/tdump.c:258: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). register size_t n=strlen(string); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:170:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if((n = read(subpipe[0],buff,sizeof(buff)))==0) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:364: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(arg->argval) || (arg->argflag==ARG_RAW)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:777: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). csp = newof(0,struct cosh,1,strlen(name)+1); data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:2921: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(comn) < sizeof(lastarg)) data/ksh-2020.0.0+really93u+20120801/src/cmd/ksh93/sh/xec.c:3671:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(devfd,e_devfdNN,sizeof(devfd)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:69:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). else if (read(apl->fd, &references, sizeof(references)) != sizeof(references)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:118: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). if (!(apl = newof(0, APL_t, 1, strlen(path)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso-fcntl.c:141:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(fd, &references, sizeof(references)) != sizeof(references)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/aso/aso.c:215: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). n = (e = strchr(name, ',')) ? (e - name) : strlen(name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/ast.h:126:19: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define sfgetc(f) fgetc(f) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/sfstr.c:121: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). n = strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/strdup.c:36: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). return (s && (t = newof(0, char, n = strlen(s) + 1, 0))) ? (char*)memcpy(t, s, n) : (char*)0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/astsa/strmatch.c:555: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). match.last_s = e = s + strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/cdtlib.h:95: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). n = strlen(cdt_lib_##m.prefix); \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/cdtlib.h:112: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). n = strlen(cdt_lib_/**/m.prefix); \ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dtlist.c:50: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). k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c:54: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). k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c:63: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). k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/cdt/dttree.c:71: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). k = strlen(obj); memcpy(endb, obj, k); endb += k; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/catopen.c:155: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:251: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). if ((n = strlen(t)) > MM_LABEL_2_MAX) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/fmtmsglib.c:257: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). if ((n = strlen(t)) > MM_LABEL_1_MAX) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:1102: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). if (!(cc = newof(0, Conv_t, 1, strlen(to) + strlen(fr) + 2))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/iconv.c:1102:46: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!(cc = newof(0, Conv_t, 1, strlen(to) + strlen(fr) + 2))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:51: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(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/mktemp.c:62: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). if ((n = strlen(s)) < 6 || strcmp(s + n - 6, "XXXXXX")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:176: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). register const char* s = path + strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:197: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). if (physical || strlen(path) >= size || !(s = pathcanon(strcpy(buf, path), size, PATH_PHYSICAL|PATH_DOTDOT|PATH_EXISTS))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:321: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(path) + 4) < sizeof(buf)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:767: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 (fd >= 0 && fd < elementsof(exe) && strlen(path) < PATH_MAX && data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:948:10: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mask = umask(0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:952:4: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/omitted.c:957:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/openlog.c:44: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). n = strlen(ident); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/readlink.c:50:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(fd, buf, sizeof(FAKELINK_MAGIC)) == sizeof(FAKELINK_MAGIC) && !strcmp(buf, FAKELINK_MAGIC) && (n = read(fd, buf, siz)) > 0 && !buf[n - 1]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/readlink.c:50:111: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(fd, buf, sizeof(FAKELINK_MAGIC)) == sizeof(FAKELINK_MAGIC) && !strcmp(buf, FAKELINK_MAGIC) && (n = read(fd, buf, siz)) > 0 && !buf[n - 1]) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/resolvepath.c:51: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). n = strlen(file) + r + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/resolvepath.c:67: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). s = path + strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/spawnveg.c:254:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (read(err[0], &m, sizeof(m)) == -1) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/symlink.c:50: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). n = strlen(a) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:201: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(path) >= sizeof(buf)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:211: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). if ((ul = strlen(buf)) < sizeof(ua.sun_path) && !stat(buf, &st) && S_ISSOCK(st.st_mode)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/syslog.c:257: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). n = msg ? strlen(msg) : 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/comp/wc.c:111:1: [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(const wchar_t* s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/getdents.c:116:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return(read(fd, buf, siz)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/dir/getdents.c:139:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((n = read(fd, (char*)buf + siz - m, m)) <= 0) break; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcdio.c:77:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rv = read(f->file,buf,io); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcdio.c:98:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). (rv = type == SF_READ ? read(f->file,buf,rw) : write(f->file,buf,rw)) > 0 ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcdio.c:197:22: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. if(!(buf = (Void_t*)memalign(dio.d_mem,bufsize)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:103: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). else if (n = strlen(label)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:111:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((r = read(rfd, &c, 1)) == 1) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:135: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). if (label && (n = strlen(label))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:227: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). if (more->match = strlen(more->pattern)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcmore.c:323: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). n = strlen(prompt) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfdcprefix.c:129: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). if (!prefix || !(n = strlen(prefix)) || !(sfset(f, 0, 0) & SF_WRITE)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfkeyprintf.c:188: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). if (i == ':' && fp->fmt.fmt == 's' && strlen(a) > 4 && !isalnum(*(a + 4))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/disc/sfkeyprintf.c:242: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). value->s = fmtquote(s, "$'", "'", strlen(s), 0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c:222: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). m = strlen(value); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c:223: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). if (b->name == ((char*)b + i) && strlen(b->name) <= m) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/hash/hashlook.c:306: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). m = tab->root->namesize ? tab->root->namesize : strlen(name) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/ast_dir.h:56: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). #define D_NAMLEN(d) (strlen((d)->d_name)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vmalloc.h:201:17: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* memalign _ARG_(( size_t, size_t )); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vmalloc.h:249:8: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #undef memalign data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vmalloc.h:258:9: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #define memalign(a,s) (_VMFL_(Vmregion), _ast_memalign((size_t)(a),(size_t)(s)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vmalloc.h:271:9: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #define memalign(a,s) (_VMFL_(Vmregion), memalign((size_t)(a),(size_t)(s)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vmalloc.h:271:43: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #define memalign(a,s) (_VMFL_(Vmregion), memalign((size_t)(a),(size_t)(s)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/include/vmalloc.h:287:9: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #define memalign(a,s) (_VMFL_(Vmregion), _VMNM_(memalig,/,*,*,/,n)\ data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:122: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). n += strlen(*p) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:129: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). n += sizeof(char**) + strlen(*p) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:135:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). m = n + (argc + 4) * sizeof(char**) + strlen(sh) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:148:48: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). m = ((disc->flags & CMD_INSERT) && argpat) ? (strlen(argpat) + 1) : 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:188: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). s += strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/cmdarg.c:197: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). n -= strlen(*p++ = sh) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/conformance.c:130: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:321:168: [1] (buffer) strlen: Does not handle 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 (!(fp->encode.namedict = dtopen(&fp->encode.namedisc, Dtoset)) || !(fp->encode.indexdict = dtopen(&fp->encode.indexdisc, Dtoset)) || !(tp = newof(0, Type_t, 1, strlen(s) + 1))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:358: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). i += (j = 2 * (strlen(pattern) + 1)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:548: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). fp->lens[i] = strlen(fp->dirs[i]); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:946: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(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fastfind.c:1003: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). else if (!(x = newof(0, Type_t, 1, strlen(type) + 1))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:612: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 (!(f = node(fts, fts->parent, path, strlen(path)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:616: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). f->fts_namelen = (fts->flags & FTS_SEEDOTDIR) ? strlen(path) : (pathcanon(path, strlen(path) + 1, 0) - path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:616:84: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). f->fts_namelen = (fts->flags & FTS_SEEDOTDIR) ? strlen(path) : (pathcanon(path, strlen(path) + 1, 0) - path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:619: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). f->fts_namelen = strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:641: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). for (s = path + strlen(path); s > path && *(s - 1) == '/'; s--); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/fts.c:792: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). fts->path = fts->home + strlen(fts->home) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/ftwalk.c:80: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). ns = strlen(path) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:63: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). if ((r = strlen(buf) + len + 1) != n && !(buf = newof(buf, char, r, 0))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:211: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). namlen = strlen(p); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/getcwd.c:318: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). namlen = strlen(env[n].path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/glob.c:681: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). suflen = strlen(gp->gl_suffix); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/glob.c:741:55: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). top = ap = (globlist_t*)stakalloc((optlen ? 2 : 1) * strlen(pattern) + sizeof(globlist_t) + suflen + gp->gl_extra); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:835: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). b += strlen(b); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:870:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ep->desc = vmnewof(mp->vm, ep->desc, char, strlen(t), 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:888:48: [1] (buffer) strlen: Does not handle 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->mime = vmnewof(mp->vm, ep->mime, char, strlen(t), strlen(e)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:888:59: [1] (buffer) strlen: Does not handle 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->mime = vmnewof(mp->vm, ep->mime, char, strlen(t), strlen(e)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/magic.c:1644: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). be = b + strlen(b); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:218: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). if (!(cap = newof(0, Cap_t, 1, strlen(v) + 1))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:266:40: [1] (buffer) strlen: Does not handle 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 (!(ent = newof(0, Ent_t, 1, strlen(s) + 1))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:394: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(lp) >= sizeof(buf)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:405: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). for (rv = rp + strlen(rp); rv > rp && (isdigit(*(rv - 1)) || *(rv - 1) == '.'); rv--); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/mime.c:612: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(v); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optesc.c:42: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). c = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1087: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). else if ((a = strlen(p->id)) <= (n = t - s) || strncmp(p->id + a - n, s, n) || *(p->id + a - n - 1) != ':') data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1088: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). p->id = save(p->id, strlen(p->id), "::", 2, s, t - s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1108: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). p->id = save(p->id, strlen(p->id), 0, 0, 0, 0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1110:63: [1] (buffer) strlen: Does not handle 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->catalog = ((t = strchr(s, ']')) && (!p->id || (t - s) != strlen(p->id) || !strneq(s, p->id, t - s))) ? save(s, t - s, 0, 0, 0, 0) : (char*)0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1223: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). n = strlen(b); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1271: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). n = strlen(u); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1313: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). e = s + strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1756:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strncmp(s, C("SYNOPSIS"), strlen(C("SYNOPSIS")))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1761: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). if (!strncmp(s, C("NAME"), strlen(C("NAME"))) || !strncmp(s, C("PLUGIN"), strlen(C("PLUGIN")))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:1761:80: [1] (buffer) strlen: Does not handle 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 (!strncmp(s, C("NAME"), strlen(C("NAME"))) || !strncmp(s, C("PLUGIN"), strlen(C("PLUGIN")))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:3724: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). m = strlen((style <= STYLE_long && error_info.id && !strchr(error_info.id, '/')) ? error_info.id : id) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:4385: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 (argv[0] && (state.argv[0] = save(argv[0], strlen(argv[0]), 0, 0, 0, 0))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/optget.c:5638:80: [1] (buffer) strlen: Does not handle 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 (isdigit(*s) && (v = (int)strtol(s, &e, 10)) > 1 && isspace(*e) && --v <= strlen(s) && (s[v] == 0 || s[v] == '\n')) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:229:4: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(arg1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:303:26: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). if ((m->save = (short)umask(arg1)) == arg1) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:372:4: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(m->save); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/procopen.c:888:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(pop[0], &proc->pid, sizeof(proc->pid)) != sizeof(proc->pid)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:109:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!(mp = newof(0, Message_t, 1, strlen(msg)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:172:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!(cp = newof(0, Catalog_t, 1, strlen(s)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/misc/translate.c:246: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). if ((n = strlen(s)) >= sizeof(buf)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcanon.c:82: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). size = strlen(path) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcd.c:44: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(path) >= PATH_MAX) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathcd.c:86: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). if ((n = strlen(p)) < PATH_MAX) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathexists.c:78: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). if (!(t = newof(0, Tree_t, 1, strlen(s)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathexists.c:104: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). if (!(p = newof(0, Tree_t, 1, strlen(s)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathfind.c:64: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). if (!(dp = oldof(0, Dir_t, 1, strlen(dir)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:126: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). n = memsum(k, strlen(k), n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:129: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). attr += strlen(attr); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:133: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). n = memsum(k, strlen(k), n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:142: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). n = memsum(k, strlen(k), n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:156: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). n = memsum(k, strlen(k), n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:270: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). n = memsum(k, strlen(k), n); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathkey.c:292: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). s = path + strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:62: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). if ((n = strlen(tmp)) < siz && buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:67: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). return strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:86: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 ((n = strlen(path)) < siz && buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:105: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). return strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathnative.c:115: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). if ((n = strlen(path)) < siz && buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:72: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(p) < size) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:80: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). s = buf + strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathpath.c:104: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). if (strlen(s) < (sizeof(buf) - 6)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:62: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). if ((n = strlen(tmp)) < siz && buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:67: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). return strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:86: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 ((n = strlen(path)) < siz && buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:107: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). return strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathposix.c:117: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). if ((n = strlen(path)) < siz && buf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:140: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). n = strlen(proc); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:166: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). n = strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprobe.c:266:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((r = read(pp->rfd, k, v)) < 0) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprog.c:76:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprog.c:110: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathprog.c:124:67: [1] (buffer) strlen: Does not handle 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 = pathpath(rel, NiL, PATH_REGULAR|PATH_EXECUTE, path, size) ? strlen(path) : 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathrepl.c:57: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). return(path + strlen(path)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathrepl.c:59: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). size = strlen(path) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathrepl.c:80: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). t = path + strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathrepl.c:81: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). u = t + strlen(r); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathrepl.c:85: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). else p += strlen(p) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathshell.c:92: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(s) >= sizeof(dir)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:198:40: [1] (buffer) strlen: Does not handle 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 (!(tmp.vec = newof(0, char*, n, strlen(x) + 1))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:218: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). if (!(tmp.vec = newof(0, char*, 2, d ? (strlen(d) + 1) : 0))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:241: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). m = strlen(pfx); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:242: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). if (buf && dir && (buf == (char*)dir && (buf + strlen(buf) + 1) == (char*)pfx || buf == (char*)pfx && !*dir) && !strcmp((char*)pfx + m + 1, "XXXXX")) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtemp.c:245: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). len = m += strlen(d) + 8; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/path/pathtmp.c:39: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). len = !buf ? 0 : !dir ? L_tmpnam : (strlen(dir) + 14); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:314: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). return strcpy(fmtbuf(strlen(s) + 1), s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:345: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). state.prefix = strlen(state.name) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:348: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(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:391: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). n = strlen(value); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:418: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). if ((!path || *path == *p && strlen(path) == (v - p - 1) && !memcmp(path, p, v - p - 1)) && strneq(v, value, n)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:448: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). n += strlen(path) + strlen(value) + 3; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:448: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). n += strlen(path) + strlen(value) + 3; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:773: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(value); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:829: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). n = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:984: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). b = t = fmtbuf(strlen(s) + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1156:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = read(i, buf, sizeof(buf) - 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1273:96: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sfprintf(sp, "L[%s] ", (listflags & ASTCONF_quote) ? fmtquote(p->limit.string, "\"", "\"", strlen(p->limit.string), FMT_SHELL) : p->limit.string); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1280:97: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sfprintf(sp, "M[%s] ", (listflags & ASTCONF_quote) ? fmtquote(p->minmax.string, "\"", "\"", strlen(p->minmax.string), FMT_SHELL) : p->minmax.string); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1289:78: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sfprintf(sp, "%s", (listflags & ASTCONF_quote) ? fmtquote(s, "\"", "\"", strlen(s), FMT_SHELL) : s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1319:79: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sfprintf(sp, "%s", (listflags & ASTCONF_quote) ? fmtquote(s, "\"", "\"", strlen(s), FMT_SHELL) : s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1479: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). if ((n = strlen(name)) > 3 && n < (ALT + 3)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1669:84: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sfprintf(sp, "%s=%s\n", f, (flags & ASTCONF_quote) ? fmtquote(s, "\"", "\"", strlen(s), FMT_SHELL) : s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1715:125: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sfprintf(sp, "%s %s - %s\n", state.id, (flags & ASTCONF_lower) ? fmtlower(fp->name) : fp->name, fmtquote(s, "\"", "\"", strlen(s), FMT_SHELL)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astconf.c:1717:136: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). sfprintf(sp, "%s=%s\n", (flags & ASTCONF_lower) ? fmtlower(fp->name) : fp->name, (flags & ASTCONF_quote) ? fmtquote(s, "\"", "\"", strlen(s), FMT_SHELL) : s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astcopy.c:88:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((c = read(rfd, buf, (size_t)n)) > 0 && write(wfd, buf, (size_t)c) != c) c = -1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:231: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:449: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). if ((strlen(file) + n + 1) <= sizeof(path)) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/astlicense.c:476:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = read(i, info, size - 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:557: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). n = strlen(s = language_name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:612: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). z = strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:661: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:757: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). n = strlen(name) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:759: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). local[0].size = strlen(local[0].name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/lc.c:761: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). local[1].size = strlen(local[1].name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:360: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). n = strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:400: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). mc->nstrs -= strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:493: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). mc->nstrs -= strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:503: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). mc->nstrs += strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/port/mc.c:572: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). n = (s = sp->msg[j]) ? (strlen(s) + 1) : 0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/preroot/getpreroot.c:58:23: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). for (p = path; (c = getc(fp)) != EOF && c != '\n'; *p++ = c); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regcache.c:169:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ((i = strlen(pattern) + 1) > cp->size) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regclass.c:264: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). n = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regerror.c:77: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). return strlen(buf) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regexec.c:53: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). return regnexec(p, s, s ? strlen(s) : 0, nmatch, match, flags); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/regex/regsubcomp.c:132:67: [1] (buffer) strlen: Does not handle 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 (!(sub = (regsub_t*)alloc(p->env->disc, 0, sizeof(regsub_t) + strlen(s))) || !(sub->re_ops = (regsubop_t*)alloc(p->env->disc, 0, (nops = 8) * sizeof(regsubop_t)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/_sfopen.c:95: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). file ? (size_t)strlen((char*)file) : (size_t)SF_UNBOUND, data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:118:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define sysreadf read data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:290:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define sysreadf read data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfhdr.h:1232: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). extern size_t strlen _ARG_((const char*)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:69: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). if(!(cmd = (char*)malloc(strlen(argcmd)+1)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:97: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). for(s = cmd+strlen(cmd)-1; s >= cmd; --s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:103: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). for(s = cmd+strlen(cmd)-1; s >= cmd+2; --s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfpopen.c:124: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). for(s = interp+strlen(interp)-1; s >= interp; --s) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfprints.c:99: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). { if(!(*sp = (char*)malloc(n = strlen(s)+1)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputr.c:53: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). { sn = sn < 0 ? strlen(s) : (sn - (s-ss)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfputr.c:66: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). { n = sn < 0 ? strlen(s) : sn - (s-ss); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfscanf.c:73: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). f.size = strlen((char*)s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftable.c:406: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). fp[n].ft.size = strlen(fp[n].argv.s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:132: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). if(!(ff = (File_t*)malloc(sizeof(File_t)+strlen(file))) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:176: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). if(!(p = (char*)malloc(strlen(path)+1)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sftmp.c:223: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). if(!(Tmppath[0] = (char*)malloc(strlen(file)+1)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvprintf.c:289: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). n_str = strlen(t_str); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvprintf.c:294: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). n_str = strlen(t_str); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvprintf.c:860: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). size = strlen(sp); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvscanf.c:485: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). n_str = strlen(t_str); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/sfio/sfvscanf.c:490: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). n_str = strlen(t_str); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fgetc.c:27:1: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fgetc(Sfio_t* f) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/fputws.c:34: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). n = wcslen(s) * sizeof(wchar_t); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getc.c:28:5: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). NoN(getc) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getc.c:32:8: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #undef getc data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getc.c:35:1: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). getc(Sfio_t* f) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getchar.c:28:5: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). NoN(getchar) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getchar.c:32:8: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #undef getchar data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/getchar.c:35:1: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). getchar(void) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/stdio_c99.c:57:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return fgetc(sp); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/stdio_c99.c:99:9: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return getc(sp); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/stdio_c99.c:105:9: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return getchar(); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/stdio/vswscanf.c:42: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). f.size = wcslen(s) * sizeof(wchar_t); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtesc.c:65: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). c += strlen((char*)qb); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtesc.c:67: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). c += strlen((char*)qe); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtesc.c:237: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). return fmtquote(as, NiL, qs, strlen((char*)as), 0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtesc.c:247: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). return fmtquote(as, NiL, NiL, strlen((char*)as), 0); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfs.c:84:40: [1] (buffer) strlen: Does not handle 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 (!dict || !(ip = newof(0, Id_t, 1, strlen(s)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtfs.c:88: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). buf = fmtbuf(strlen(s) + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtgid.c:93: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 (dict && (ip = newof(0, Id_t, 1, strlen(name)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtmatch.c:50: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). c = 3 * (strlen(s) + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtre.c:55:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). c = 2 * strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmttv.c:41: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). t = fmtbuf(n = strlen(s) + 11); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/fmtuid.c:93: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 (dict && (ip = newof(0, Id_t, 1, strlen(name)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strdup.c:59: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). return (s && (t = oldof(0, char, n = strlen(s) + 1, 0))) ? (char*)memcpy(t, s, n) : (char*)0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strerror.c:102: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). msg = strcpy(fmtbuf(strlen(msg) + 1), msg); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strerror.c:113: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). t = fmtbuf(z = strlen(s) + 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strgid.c:114: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 (dict && (ip = newof(0, Id_t, 1, strlen(name)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strperm.c:155:10: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask = umask(0)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/strperm.c:155:23: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask = umask(0)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/string/struid.c:102: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 (dict && (ip = newof(0, Id_t, 1, strlen(name)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tminit.c:186: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). tm_info.deformat = (n && (n = strlen(v)) > 0 && (n < 2 || v[n-2] != '%' || v[n-1] != '?')) ? strdup(v) : tm_info.format[TM_DEFAULT]; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmlocale.c:526: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). n += strlen(t) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tmxscan.c:427: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). format += strlen(format); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvsleep.c:106:3: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(t); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:148:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mode = umask(0)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:148:16: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mode = umask(0)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:258:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(fd, &c, 1) == 1) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:272:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mode = umask(0)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/tm/tvtouch.c:272:15: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mode = umask(0)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/crypt.c:853:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buff, key, 1024); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/getpass.c:68:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(passwd,cp,sizeof(passwd)-1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:241: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). if (write(s, num, strlen(num)+1) != strlen(num)+1) { data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:241: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). if (write(s, num, strlen(num)+1) != strlen(num)+1) { data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:281: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). (void) write(s, locuser, strlen(locuser)+1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:282: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). (void) write(s, remuser, strlen(remuser)+1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:283: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). (void) write(s, cmd, strlen(cmd)+1); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:284:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(s, &c, 1) != 1) { data/ksh-2020.0.0+really93u+20120801/src/lib/libast/uwin/rcmd.c:289:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (read(s, &c, 1) == 1) { data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vec/vecfile.c:52:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(fd, buf, n) == n) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:155:8: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #undef memalign data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:168:8: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #undef memalign data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:175:9: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #define memalign _ast_memalign data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:627:16: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* memalign(reg size_t align, reg size_t size) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:629:16: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* memalign(align, size) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:664:13: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. if(!(mem = memalign(align, size)) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:681:18: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. return VMRECORD(memalign(_Vmpagesize, size)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:694:18: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. return VMRECORD(memalign(_Vmpagesize, ROUND(size,_Vmpagesize)) ); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:711: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). { n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:806:6: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. r = memalign(align, size); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:848:59: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* F2(_memalign, size_t,a, size_t,n) { return memalign(a, n); } data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:865:60: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* F2(__memalign, size_t,a, size_t,n) { return memalign(a, n); } data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:882:65: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* F2(__libc_memalign, size_t,a, size_t,n) { return memalign(a, n); } data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:1014:8: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. #undef memalign data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:1015:16: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* memalign _ARG_((size_t, size_t)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/malloc.c:1040:63: [1] (free) memalign: On some systems (though not Linux-based systems) an attempt to free() results from memalign() may fail. This may, on a few systems, be exploitable. Also note that memalign() may not check that the boundary parameter is correct (CWE-676). Use posix_memalign instead (defined in POSIX's 1003.1d). Don't switch to valloc(); it is marked as obsolete in BSD 4.3, as legacy in SUSv2, and is no longer defined in SUSv3. In some cases, malloc()'s alignment may be sufficient. extern Void_t* F2(_ast_memalign, size_t,a, size_t,n) { return memalign(a, n); } data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:164:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if((s = DBFILE(data)) && (bufp + strlen(s) + SLOP) < endbuf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:172: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). if(file && file[0] && line > 0 && (bufp + strlen(file) + SLOP) < endbuf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:233:53: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). { db = (Dbfile_t*)vmalloc(Vmheap,sizeof(Dbfile_t)+strlen(file)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:723: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). write(Dbfd, buf, strlen(buf)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmdebug.c:724: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). return strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmhdr.h:506: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 _ARG_(( const char* )); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:70: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). #define MMHEAD(file) ROUND(sizeof(Mmvm_t)+strlen(file), ALIGN) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:117: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). sprintf(mesg, "File: %s\n", mmdc->file ); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:118:64: [1] (buffer) strlen: Does not handle 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(mesg, "Project: %10d\n", mmdc->proj); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:119:67: [1] (buffer) strlen: Does not handle 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(mesg, "Memory: %#010lx\n", mmdc->mmvm); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:120:64: [1] (buffer) strlen: Does not handle 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(mesg, "Size: %10d\n", mmdc->size); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:121:65: [1] (buffer) strlen: Does not handle 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(mesg, "Shmid: %10d\n", mmdc->shmid); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:123: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). sprintf(mesg, "File header:\n"); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:124:71: [1] (buffer) strlen: Does not handle 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(mesg, "Magic: %10d\n", mmdc->mmvm->magic); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:125:73: [1] (buffer) strlen: Does not handle 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(mesg, "Base: %#010lx\n", mmdc->mmvm->base); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:126:70: [1] (buffer) strlen: Does not handle 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(mesg, "Size: %10d\n", mmdc->mmvm->size); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:127:70: [1] (buffer) strlen: Does not handle 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(mesg, "Busy: %10d\n", mmdc->mmvm->busy); write(fd, mesg, strlen(mesg)); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmmopen.c:404: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(!(mmdc = vmalloc(Vmheap, sizeof(Mmdisc_t)+strlen(file))) ) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmprofile.c:125: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). s = sizeof(Pfobj_t) - sizeof(Pfdata_t) + strlen(file) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmstrdup.c:45: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). return (s && (t = vmalloc(v, n = strlen(s) + 1))) ? (char*)memcpy(t, s, n) : (char*)0; data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:48: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). n = strlen(from); data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:155: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((bufp + strlen(file) + SLOP) >= endbuf) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:157: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). for(f = bufp + strlen(file); f > file; --f) data/ksh-2020.0.0+really93u+20120801/src/lib/libast/vmalloc/vmtrace.c:165: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). m = strlen(file); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/basename.c:90: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). if(suffix && (n=strlen(suffix)) && n<(last-first)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chmod.c:248:12: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). ignore = umask(0); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chmod.c:258:5: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(ignore); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chmod.c:265:4: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(ignore); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/chmod.c:323:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(ignore); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cmd.h:114:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf + 3, s, sizeof(buf) - 4); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:512: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). n = strlen(s); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:948: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). state->suflen = strlen(state->suffix); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cp.c:971: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). state->postsiz = strlen(file); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/cut.c:140:48: [1] (buffer) strlen: Does not handle 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 (!(cut = (Cut_t*)stakalloc(sizeof(Cut_t) + strlen(cp) * sizeof(int)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/expr.c:217: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). np->num = strlen(cp); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/expr.c:250: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). k = strlen(sp); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/fmt.c:157: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). prefix = strlen(buf); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c:343: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). e->len = strlen(e->path = "/usr/sbin"); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/getconf.c:346: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). e->len = strlen(e->path = "/sbin"); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/id.c:133: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). n += strlen(s) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/join.c:841: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). for (n = strlen(cp) - 1; n > 0 && cp[n] != 'j'; n--); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkdir.c:108:9: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mask = umask(0); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkdir.c:119:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkdir.c:145: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). n = strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkdir.c:187:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkfifo.c:83:9: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mask = umask(0); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkfifo.c:87:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mkfifo.c:94:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mktemp.c:126:9: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mask = umask(0); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mktemp.c:129:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(~mode & (S_IRWXU|S_IRWXG|S_IRWXO)); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/mktemp.c:167:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/pathchk.c:142: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). cp = cpold + strlen(cpold); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/rmdir.c:97: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). if (pflag) end += strlen(dir); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/tail.c:564: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). opt_info.offset = strlen(r); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.c:172:2: [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(ut->nodename, "local", sizeof(ut->nodename) - 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.c:348: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). if (sethostname(sethost, strlen(sethost) + 1)) data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/uname.c:409:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s = buf, t, sizeof(buf) - 1); data/ksh-2020.0.0+really93u+20120801/src/lib/libcmd/vmstate.c:103:4: [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(s, "0"); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coexec.c:215: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). n = strlen(action); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coexec.c:230: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). sfprintf(sp, " (%d:%s)", strlen(att), att); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coexec.c:233: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). sfprintf(sp, " (%d:%s) (%d:%s)\n", strlen(env), env, n, action); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coexport.c:57:48: [1] (buffer) strlen: Does not handle 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 (!(ex = vmnewof(co->vm, 0, Coexport_t, 1, strlen(name)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coinit.c:165:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(n = umask(co->init.mask)); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coinit.c:165:12: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(n = umask(co->init.mask)); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coinit.c:368: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). sfstrseek(sp, strlen(t), SEEK_CUR); data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/coopen.c:108:97: [1] (buffer) strlen: Does not handle 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 (((Namval_t*)p)->value == CO_SERVICE && v && (cs = vmnewof(co->vm, 0, Coservice_t, 1, 2 * strlen(v)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libcoshell/cosync.c:120: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). fd = strlen(tmp) - 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:383: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). else if (!(dll = newof(0, Dll_t, 1, strlen(path)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlfcn.c:476:59: [1] (buffer) strlen: Does not handle 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 (!(address = lookup(dll, name)) && name[0] != '_' && strlen(name) < (sizeof(buf) - 1)) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c:51: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). n = strlen(id); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c:165:40: [1] (buffer) strlen: Does not handle 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 (lib = newof(0, Dll_lib_t, 1, (n = strlen(names->base)) + strlen(names->path) + 1)) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dll_lib.c:165:63: [1] (buffer) strlen: Does not handle 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 (lib = newof(0, Dll_lib_t, 1, (n = strlen(names->base)) + strlen(names->path) + 1)) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dlllook.c:40:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!(addr = dlsym(dll, name)) && strlen(name) < (sizeof(buf) - 2)) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllnext.c:209: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). ver = path + strlen(path); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllopen.c:70: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). environ[0] = path + strlen(path) + 1; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:234:28: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). i = 2 * sizeof(char**) + strlen(lib) + 5; data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:273: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). i = strlen(name); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:274: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). j = strlen(info->prefix); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:277: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). k = strlen(info->suffix); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:346: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). scan->prelen = strlen(info->prefix); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:347: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). scan->suflen = strlen(info->suffix); data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:511: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). if (!(u = vmnewof(scan->vm, 0, Uniq_t, 1, strlen(b)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libdll/dllscan.c:518:58: [1] (buffer) strlen: Does not handle 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 (!(scan->uniq = vmnewof(scan->vm, 0, Uniq_t, 1, strlen(b)))) data/ksh-2020.0.0+really93u+20120801/src/lib/libsum/sum-sha2.c:114:32: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. #error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN ANALYSIS SUMMARY: Hits = 2086 Lines analyzed = 225503 in approximately 9.17 seconds (24600 lines/second) Physical Source Lines of Code (SLOC) = 174159 Hits@level = [0] 1052 [1] 591 [2] 1007 [3] 153 [4] 300 [5] 35 Hits@level+ = [0+] 3138 [1+] 2086 [2+] 1495 [3+] 488 [4+] 335 [5+] 35 Hits/KSLOC@level+ = [0+] 18.018 [1+] 11.9776 [2+] 8.58411 [3+] 2.80204 [4+] 1.92353 [5+] 0.200966 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.