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/klibc-2.0.8/usr/utils/uname.c Examining data/klibc-2.0.8/usr/utils/umount.c Examining data/klibc-2.0.8/usr/utils/true.c Examining data/klibc-2.0.8/usr/utils/sync.c Examining data/klibc-2.0.8/usr/utils/sleep.c Examining data/klibc-2.0.8/usr/utils/readlink.c Examining data/klibc-2.0.8/usr/utils/pivot_root.c Examining data/klibc-2.0.8/usr/utils/nuke.c Examining data/klibc-2.0.8/usr/utils/mv.c Examining data/klibc-2.0.8/usr/utils/mount_opts.h Examining data/klibc-2.0.8/usr/utils/mount_opts.c Examining data/klibc-2.0.8/usr/utils/mount_main.c Examining data/klibc-2.0.8/usr/utils/mknod.c Examining data/klibc-2.0.8/usr/utils/mkfifo.c Examining data/klibc-2.0.8/usr/utils/mkdir.c Examining data/klibc-2.0.8/usr/utils/minips.c Examining data/klibc-2.0.8/usr/utils/ls.c Examining data/klibc-2.0.8/usr/utils/losetup.c Examining data/klibc-2.0.8/usr/utils/ln.c Examining data/klibc-2.0.8/usr/utils/kill.c Examining data/klibc-2.0.8/usr/utils/halt.c Examining data/klibc-2.0.8/usr/utils/file_mode.h Examining data/klibc-2.0.8/usr/utils/file_mode.c Examining data/klibc-2.0.8/usr/utils/false.c Examining data/klibc-2.0.8/usr/utils/dmesg.c Examining data/klibc-2.0.8/usr/utils/dd.c Examining data/klibc-2.0.8/usr/utils/cpio.c Examining data/klibc-2.0.8/usr/utils/chroot.c Examining data/klibc-2.0.8/usr/utils/cat.c Examining data/klibc-2.0.8/usr/klibc/zlib/zutil.h Examining data/klibc-2.0.8/usr/klibc/zlib/zutil.c Examining data/klibc-2.0.8/usr/klibc/zlib/zconf.in.h Examining data/klibc-2.0.8/usr/klibc/zlib/uncompr.c Examining data/klibc-2.0.8/usr/klibc/zlib/trees.h Examining data/klibc-2.0.8/usr/klibc/zlib/trees.c Examining data/klibc-2.0.8/usr/klibc/zlib/inftrees.h Examining data/klibc-2.0.8/usr/klibc/zlib/inftrees.c Examining data/klibc-2.0.8/usr/klibc/zlib/inflate.h Examining data/klibc-2.0.8/usr/klibc/zlib/inflate.c Examining data/klibc-2.0.8/usr/klibc/zlib/inffixed.h Examining data/klibc-2.0.8/usr/klibc/zlib/inffast.h Examining data/klibc-2.0.8/usr/klibc/zlib/inffast.c Examining data/klibc-2.0.8/usr/klibc/zlib/infback.c Examining data/klibc-2.0.8/usr/klibc/zlib/gzio.c Examining data/klibc-2.0.8/usr/klibc/zlib/deflate.h Examining data/klibc-2.0.8/usr/klibc/zlib/deflate.c Examining data/klibc-2.0.8/usr/klibc/zlib/crc32.h Examining data/klibc-2.0.8/usr/klibc/zlib/crc32.c Examining data/klibc-2.0.8/usr/klibc/zlib/compress.c Examining data/klibc-2.0.8/usr/klibc/zlib/adler32.c Examining data/klibc-2.0.8/usr/klibc/zalloc.c Examining data/klibc-2.0.8/usr/klibc/waitpid.c Examining data/klibc-2.0.8/usr/klibc/wait3.c Examining data/klibc-2.0.8/usr/klibc/wait.c Examining data/klibc-2.0.8/usr/klibc/vsscanf.c Examining data/klibc-2.0.8/usr/klibc/vsprintf.c Examining data/klibc-2.0.8/usr/klibc/vsnprintf.c Examining data/klibc-2.0.8/usr/klibc/vprintf.c Examining data/klibc-2.0.8/usr/klibc/vfprintf.c Examining data/klibc-2.0.8/usr/klibc/vfork.c Examining data/klibc-2.0.8/usr/klibc/vasprintf.c Examining data/klibc-2.0.8/usr/klibc/utimes.c Examining data/klibc-2.0.8/usr/klibc/utime.c Examining data/klibc-2.0.8/usr/klibc/usleep.c Examining data/klibc-2.0.8/usr/klibc/userdb/userdb.h Examining data/klibc-2.0.8/usr/klibc/userdb/root_user.c Examining data/klibc-2.0.8/usr/klibc/userdb/root_group.c Examining data/klibc-2.0.8/usr/klibc/userdb/getpwuid.c Examining data/klibc-2.0.8/usr/klibc/userdb/getpwnam.c Examining data/klibc-2.0.8/usr/klibc/userdb/getgrnam.c Examining data/klibc-2.0.8/usr/klibc/userdb/getgrgid.c Examining data/klibc-2.0.8/usr/klibc/unsetenv.c Examining data/klibc-2.0.8/usr/klibc/unlink.c Examining data/klibc-2.0.8/usr/klibc/umount.c Examining data/klibc-2.0.8/usr/klibc/time.c Examining data/klibc-2.0.8/usr/klibc/tests/vfork.c Examining data/klibc-2.0.8/usr/klibc/tests/testvsnp.c Examining data/klibc-2.0.8/usr/klibc/tests/testrand48.c Examining data/klibc-2.0.8/usr/klibc/tests/sysconf.c Examining data/klibc-2.0.8/usr/klibc/tests/strtotime.c Examining data/klibc-2.0.8/usr/klibc/tests/strtoimax.c Examining data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c Examining data/klibc-2.0.8/usr/klibc/tests/stdio.c Examining data/klibc-2.0.8/usr/klibc/tests/statfs.c Examining data/klibc-2.0.8/usr/klibc/tests/stat.c Examining data/klibc-2.0.8/usr/klibc/tests/sscanf.c Examining data/klibc-2.0.8/usr/klibc/tests/socket.c Examining data/klibc-2.0.8/usr/klibc/tests/sigint.c Examining data/klibc-2.0.8/usr/klibc/tests/sig-nodefer.c Examining data/klibc-2.0.8/usr/klibc/tests/setjmptest.c Examining data/klibc-2.0.8/usr/klibc/tests/setenvtest.c Examining data/klibc-2.0.8/usr/klibc/tests/select.c Examining data/klibc-2.0.8/usr/klibc/tests/rtsig.c Examining data/klibc-2.0.8/usr/klibc/tests/pipetest.c Examining data/klibc-2.0.8/usr/klibc/tests/opentest.c Examining data/klibc-2.0.8/usr/klibc/tests/mmaptest.c Examining data/klibc-2.0.8/usr/klibc/tests/minihello.c Examining data/klibc-2.0.8/usr/klibc/tests/microhello.c Examining data/klibc-2.0.8/usr/klibc/tests/memstrtest.c Examining data/klibc-2.0.8/usr/klibc/tests/malloctest2.c Examining data/klibc-2.0.8/usr/klibc/tests/malloctest.c Examining data/klibc-2.0.8/usr/klibc/tests/lseek.c Examining data/klibc-2.0.8/usr/klibc/tests/idtest.c Examining data/klibc-2.0.8/usr/klibc/tests/hello.c Examining data/klibc-2.0.8/usr/klibc/tests/getpagesize.c Examining data/klibc-2.0.8/usr/klibc/tests/getopttest.c Examining data/klibc-2.0.8/usr/klibc/tests/getoptlong.c Examining data/klibc-2.0.8/usr/klibc/tests/fnmatch.c Examining data/klibc-2.0.8/usr/klibc/tests/fcntl.c Examining data/klibc-2.0.8/usr/klibc/tests/environ.c Examining data/klibc-2.0.8/usr/klibc/sysv_signal.c Examining data/klibc-2.0.8/usr/klibc/system.c Examining data/klibc-2.0.8/usr/klibc/syslog.c Examining data/klibc-2.0.8/usr/klibc/sysconf/sysconf.c Examining data/klibc-2.0.8/usr/klibc/syscalls/syscommon.h Examining data/klibc-2.0.8/usr/klibc/symlink.c Examining data/klibc-2.0.8/usr/klibc/strxspn.h Examining data/klibc-2.0.8/usr/klibc/strxspn.c Examining data/klibc-2.0.8/usr/klibc/strtox.c Examining data/klibc-2.0.8/usr/klibc/strtoumax.c Examining data/klibc-2.0.8/usr/klibc/strtoull.c Examining data/klibc-2.0.8/usr/klibc/strtoul.c Examining data/klibc-2.0.8/usr/klibc/strtotimex.c Examining data/klibc-2.0.8/usr/klibc/strtotimeval.c Examining data/klibc-2.0.8/usr/klibc/strtotimespec.c Examining data/klibc-2.0.8/usr/klibc/strtoll.c Examining data/klibc-2.0.8/usr/klibc/strtol.c Examining data/klibc-2.0.8/usr/klibc/strtok_r.c Examining data/klibc-2.0.8/usr/klibc/strtok.c Examining data/klibc-2.0.8/usr/klibc/strtoimax.c Examining data/klibc-2.0.8/usr/klibc/strstr.c Examining data/klibc-2.0.8/usr/klibc/strspn.c Examining data/klibc-2.0.8/usr/klibc/strsignal.c Examining data/klibc-2.0.8/usr/klibc/strsep.c Examining data/klibc-2.0.8/usr/klibc/strrchr.c Examining data/klibc-2.0.8/usr/klibc/strpbrk.c Examining data/klibc-2.0.8/usr/klibc/strntoumax.c Examining data/klibc-2.0.8/usr/klibc/strntoimax.c Examining data/klibc-2.0.8/usr/klibc/strnlen.c Examining data/klibc-2.0.8/usr/klibc/strndup.c Examining data/klibc-2.0.8/usr/klibc/strncpy.c Examining data/klibc-2.0.8/usr/klibc/strncmp.c Examining data/klibc-2.0.8/usr/klibc/strncat.c Examining data/klibc-2.0.8/usr/klibc/strncasecmp.c Examining data/klibc-2.0.8/usr/klibc/strlen.c Examining data/klibc-2.0.8/usr/klibc/strlcpy.c Examining data/klibc-2.0.8/usr/klibc/strlcat.c Examining data/klibc-2.0.8/usr/klibc/strerror.c Examining data/klibc-2.0.8/usr/klibc/strdup.c Examining data/klibc-2.0.8/usr/klibc/strcspn.c Examining data/klibc-2.0.8/usr/klibc/strcpy.c Examining data/klibc-2.0.8/usr/klibc/strcmp.c Examining data/klibc-2.0.8/usr/klibc/strchr.c Examining data/klibc-2.0.8/usr/klibc/strcat.c Examining data/klibc-2.0.8/usr/klibc/strcasecmp.c Examining data/klibc-2.0.8/usr/klibc/stdio/ungetc.c Examining data/klibc-2.0.8/usr/klibc/stdio/stdioint.h Examining data/klibc-2.0.8/usr/klibc/stdio/rewind.c Examining data/klibc-2.0.8/usr/klibc/stdio/fwrite.c Examining data/klibc-2.0.8/usr/klibc/stdio/ftell.c Examining data/klibc-2.0.8/usr/klibc/stdio/fseek.c Examining data/klibc-2.0.8/usr/klibc/stdio/fread.c Examining data/klibc-2.0.8/usr/klibc/stdio/fopen.c Examining data/klibc-2.0.8/usr/klibc/stdio/fileno.c Examining data/klibc-2.0.8/usr/klibc/stdio/fgetc.c Examining data/klibc-2.0.8/usr/klibc/stdio/fflush.c Examining data/klibc-2.0.8/usr/klibc/stdio/ferror.c Examining data/klibc-2.0.8/usr/klibc/stdio/feof.c Examining data/klibc-2.0.8/usr/klibc/stdio/fdopen.c Examining data/klibc-2.0.8/usr/klibc/stdio/fclose.c Examining data/klibc-2.0.8/usr/klibc/stdio/clearerr.c Examining data/klibc-2.0.8/usr/klibc/statfs.c Examining data/klibc-2.0.8/usr/klibc/stat.c Examining data/klibc-2.0.8/usr/klibc/sscanf.c Examining data/klibc-2.0.8/usr/klibc/srand48.c Examining data/klibc-2.0.8/usr/klibc/sprintf.c Examining data/klibc-2.0.8/usr/klibc/socketcalls/socketcommon.h Examining data/klibc-2.0.8/usr/klibc/snprintf.c Examining data/klibc-2.0.8/usr/klibc/sleep.c Examining data/klibc-2.0.8/usr/klibc/sigsuspend.c Examining data/klibc-2.0.8/usr/klibc/sigprocmask.c Examining data/klibc-2.0.8/usr/klibc/sigpending.c Examining data/klibc-2.0.8/usr/klibc/siglongjmp.c Examining data/klibc-2.0.8/usr/klibc/siglist.c Examining data/klibc-2.0.8/usr/klibc/sigabbrev.c Examining data/klibc-2.0.8/usr/klibc/shm_unlink.c Examining data/klibc-2.0.8/usr/klibc/shm_open.c Examining data/klibc-2.0.8/usr/klibc/sha1hash.c Examining data/klibc-2.0.8/usr/klibc/setpgrp.c Examining data/klibc-2.0.8/usr/klibc/setmntent.c Examining data/klibc-2.0.8/usr/klibc/seteuid.c Examining data/klibc-2.0.8/usr/klibc/setenv.c Examining data/klibc-2.0.8/usr/klibc/setegid.c Examining data/klibc-2.0.8/usr/klibc/send.c Examining data/klibc-2.0.8/usr/klibc/select.c Examining data/klibc-2.0.8/usr/klibc/seed48.c Examining data/klibc-2.0.8/usr/klibc/scandir.c Examining data/klibc-2.0.8/usr/klibc/sbrk.c Examining data/klibc-2.0.8/usr/klibc/rmdir.c Examining data/klibc-2.0.8/usr/klibc/renameat.c Examining data/klibc-2.0.8/usr/klibc/rename.c Examining data/klibc-2.0.8/usr/klibc/remove.c Examining data/klibc-2.0.8/usr/klibc/recv.c Examining data/klibc-2.0.8/usr/klibc/reboot.c Examining data/klibc-2.0.8/usr/klibc/realpath.c Examining data/klibc-2.0.8/usr/klibc/realloc.c Examining data/klibc-2.0.8/usr/klibc/readlink.c Examining data/klibc-2.0.8/usr/klibc/readdir.c Examining data/klibc-2.0.8/usr/klibc/raise.c Examining data/klibc-2.0.8/usr/klibc/qsort.c Examining data/klibc-2.0.8/usr/klibc/pwrite.c Examining data/klibc-2.0.8/usr/klibc/puts.c Examining data/klibc-2.0.8/usr/klibc/putenv.c Examining data/klibc-2.0.8/usr/klibc/putchar.c Examining data/klibc-2.0.8/usr/klibc/pty.c Examining data/klibc-2.0.8/usr/klibc/pselect.c Examining data/klibc-2.0.8/usr/klibc/printf.c Examining data/klibc-2.0.8/usr/klibc/pread.c Examining data/klibc-2.0.8/usr/klibc/ppoll.c Examining data/klibc-2.0.8/usr/klibc/poll.c Examining data/klibc-2.0.8/usr/klibc/pipe.c Examining data/klibc-2.0.8/usr/klibc/perror.c Examining data/klibc-2.0.8/usr/klibc/pause.c Examining data/klibc-2.0.8/usr/klibc/openat.c Examining data/klibc-2.0.8/usr/klibc/open.c Examining data/klibc-2.0.8/usr/klibc/onexit.c Examining data/klibc-2.0.8/usr/klibc/nullenv.c Examining data/klibc-2.0.8/usr/klibc/nrand48.c Examining data/klibc-2.0.8/usr/klibc/nice.c Examining data/klibc-2.0.8/usr/klibc/mrand48.c Examining data/klibc-2.0.8/usr/klibc/mmap.c Examining data/klibc-2.0.8/usr/klibc/mknod.c Examining data/klibc-2.0.8/usr/klibc/mkdir.c Examining data/klibc-2.0.8/usr/klibc/memswap.c Examining data/klibc-2.0.8/usr/klibc/memset.c Examining data/klibc-2.0.8/usr/klibc/memrchr.c Examining data/klibc-2.0.8/usr/klibc/memmove.c Examining data/klibc-2.0.8/usr/klibc/memmem.c Examining data/klibc-2.0.8/usr/klibc/memcpy.c Examining data/klibc-2.0.8/usr/klibc/memcmp.c Examining data/klibc-2.0.8/usr/klibc/memchr.c Examining data/klibc-2.0.8/usr/klibc/memccpy.c Examining data/klibc-2.0.8/usr/klibc/malloc.h Examining data/klibc-2.0.8/usr/klibc/malloc.c Examining data/klibc-2.0.8/usr/klibc/lstat.c Examining data/klibc-2.0.8/usr/klibc/lseek.c Examining data/klibc-2.0.8/usr/klibc/lrand48.c Examining data/klibc-2.0.8/usr/klibc/link.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__umodsi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__umoddi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__udivsi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__udivmodsi4.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__udivmoddi4.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__udivdi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__modsi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__moddi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__lshrdi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__divsi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__divdi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__clzsi2.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__ashrdi3.c Examining data/klibc-2.0.8/usr/klibc/libgcc/__ashldi3.c Examining data/klibc-2.0.8/usr/klibc/libc_init.c Examining data/klibc-2.0.8/usr/klibc/lchown.c Examining data/klibc-2.0.8/usr/klibc/jrand48.c Examining data/klibc-2.0.8/usr/klibc/isatty.c Examining data/klibc-2.0.8/usr/klibc/inet/inet_pton.c Examining data/klibc-2.0.8/usr/klibc/inet/inet_ntop.c Examining data/klibc-2.0.8/usr/klibc/inet/inet_ntoa.c Examining data/klibc-2.0.8/usr/klibc/inet/inet_aton.c Examining data/klibc-2.0.8/usr/klibc/inet/inet_addr.c Examining data/klibc-2.0.8/usr/klibc/inet/bindresvport.c Examining data/klibc-2.0.8/usr/klibc/globals.c Examining data/klibc-2.0.8/usr/klibc/getpriority.c Examining data/klibc-2.0.8/usr/klibc/getpgrp.c Examining data/klibc-2.0.8/usr/klibc/getopt_long.c Examining data/klibc-2.0.8/usr/klibc/getopt.c Examining data/klibc-2.0.8/usr/klibc/getmntent.c Examining data/klibc-2.0.8/usr/klibc/gethostname.c Examining data/klibc-2.0.8/usr/klibc/getenv.c Examining data/klibc-2.0.8/usr/klibc/getdomainname.c Examining data/klibc-2.0.8/usr/klibc/getcwd.c Examining data/klibc-2.0.8/usr/klibc/fwrite2.c Examining data/klibc-2.0.8/usr/klibc/fstatfs.c Examining data/klibc-2.0.8/usr/klibc/fread2.c Examining data/klibc-2.0.8/usr/klibc/fputs.c Examining data/klibc-2.0.8/usr/klibc/fputc.c Examining data/klibc-2.0.8/usr/klibc/fprintf.c Examining data/klibc-2.0.8/usr/klibc/fork.c Examining data/klibc-2.0.8/usr/klibc/fnmatch.c Examining data/klibc-2.0.8/usr/klibc/fgets.c Examining data/klibc-2.0.8/usr/klibc/exit.c Examining data/klibc-2.0.8/usr/klibc/execvpe.c Examining data/klibc-2.0.8/usr/klibc/execvp.c Examining data/klibc-2.0.8/usr/klibc/execv.c Examining data/klibc-2.0.8/usr/klibc/execlpe.c Examining data/klibc-2.0.8/usr/klibc/execlp.c Examining data/klibc-2.0.8/usr/klibc/execle.c Examining data/klibc-2.0.8/usr/klibc/execl.c Examining data/klibc-2.0.8/usr/klibc/exec_l.c Examining data/klibc-2.0.8/usr/klibc/env.h Examining data/klibc-2.0.8/usr/klibc/endmntent.c Examining data/klibc-2.0.8/usr/klibc/dup2.c Examining data/klibc-2.0.8/usr/klibc/daemon.c Examining data/klibc-2.0.8/usr/klibc/ctypes.c Examining data/klibc-2.0.8/usr/klibc/ctype/toupper.c Examining data/klibc-2.0.8/usr/klibc/ctype/tolower.c Examining data/klibc-2.0.8/usr/klibc/ctype/isxdigit.c Examining data/klibc-2.0.8/usr/klibc/ctype/isupper.c Examining data/klibc-2.0.8/usr/klibc/ctype/isspace.c Examining data/klibc-2.0.8/usr/klibc/ctype/ispunct.c Examining data/klibc-2.0.8/usr/klibc/ctype/isprint.c Examining data/klibc-2.0.8/usr/klibc/ctype/islower.c Examining data/klibc-2.0.8/usr/klibc/ctype/isgraph.c Examining data/klibc-2.0.8/usr/klibc/ctype/isdigit.c Examining data/klibc-2.0.8/usr/klibc/ctype/iscntrl.c Examining data/klibc-2.0.8/usr/klibc/ctype/isblank.c Examining data/klibc-2.0.8/usr/klibc/ctype/isascii.c Examining data/klibc-2.0.8/usr/klibc/ctype/isalpha.c Examining data/klibc-2.0.8/usr/klibc/ctype/isalnum.c Examining data/klibc-2.0.8/usr/klibc/ctype/ctypefunc.h Examining data/klibc-2.0.8/usr/klibc/creat.c Examining data/klibc-2.0.8/usr/klibc/closelog.c Examining data/klibc-2.0.8/usr/klibc/clearenv.c Examining data/klibc-2.0.8/usr/klibc/chown.c Examining data/klibc-2.0.8/usr/klibc/chmod.c Examining data/klibc-2.0.8/usr/klibc/calloc.c Examining data/klibc-2.0.8/usr/klibc/bzero.c Examining data/klibc-2.0.8/usr/klibc/bsearch.c Examining data/klibc-2.0.8/usr/klibc/bsd_signal.c Examining data/klibc-2.0.8/usr/klibc/brk.c Examining data/klibc-2.0.8/usr/klibc/atox.c Examining data/klibc-2.0.8/usr/klibc/atoll.c Examining data/klibc-2.0.8/usr/klibc/atol.c Examining data/klibc-2.0.8/usr/klibc/atoi.c Examining data/klibc-2.0.8/usr/klibc/atexit.h Examining data/klibc-2.0.8/usr/klibc/atexit.c Examining data/klibc-2.0.8/usr/klibc/assert.c Examining data/klibc-2.0.8/usr/klibc/asprintf.c Examining data/klibc-2.0.8/usr/klibc/arch/s390/syscall.c Examining data/klibc-2.0.8/usr/klibc/arch/s390/mmap.c Examining data/klibc-2.0.8/usr/klibc/arch/ppc64/syscall.c Examining data/klibc-2.0.8/usr/klibc/arch/arm/__muldi3.c Examining data/klibc-2.0.8/usr/klibc/arch/alpha/divide.c Examining data/klibc-2.0.8/usr/klibc/alphasort.c Examining data/klibc-2.0.8/usr/klibc/alarm.c Examining data/klibc-2.0.8/usr/klibc/access.c Examining data/klibc-2.0.8/usr/klibc/accept.c Examining data/klibc-2.0.8/usr/klibc/abort.c Examining data/klibc-2.0.8/usr/klibc/__static_init.c Examining data/klibc-2.0.8/usr/klibc/__signal.c Examining data/klibc-2.0.8/usr/klibc/__shared_init.c Examining data/klibc-2.0.8/usr/klibc/__put_env.c Examining data/klibc-2.0.8/usr/klibc/sigaction.c Examining data/klibc-2.0.8/usr/kinit/xpio.h Examining data/klibc-2.0.8/usr/kinit/xpio.c Examining data/klibc-2.0.8/usr/kinit/run-init/runinitlib.c Examining data/klibc-2.0.8/usr/kinit/run-init/run-init.h Examining data/klibc-2.0.8/usr/kinit/run-init/run-init.c Examining data/klibc-2.0.8/usr/kinit/resume/resumelib.c Examining data/klibc-2.0.8/usr/kinit/resume/resume.h Examining data/klibc-2.0.8/usr/kinit/resume/resume.c Examining data/klibc-2.0.8/usr/kinit/readfile.c Examining data/klibc-2.0.8/usr/kinit/ramdisk_load.c Examining data/klibc-2.0.8/usr/kinit/nfsroot.c Examining data/klibc-2.0.8/usr/kinit/nfsmount/sunrpc.h Examining data/klibc-2.0.8/usr/kinit/nfsmount/sunrpc.c Examining data/klibc-2.0.8/usr/kinit/nfsmount/portmap.c Examining data/klibc-2.0.8/usr/kinit/nfsmount/nfsmount.h Examining data/klibc-2.0.8/usr/kinit/nfsmount/mount.c Examining data/klibc-2.0.8/usr/kinit/nfsmount/main.c Examining data/klibc-2.0.8/usr/kinit/nfsmount/dummypmap_test.c Examining data/klibc-2.0.8/usr/kinit/nfsmount/dummypmap.h Examining data/klibc-2.0.8/usr/kinit/nfsmount/dummypmap.c Examining data/klibc-2.0.8/usr/kinit/name_to_dev.c Examining data/klibc-2.0.8/usr/kinit/kinit.h Examining data/klibc-2.0.8/usr/kinit/kinit.c Examining data/klibc-2.0.8/usr/kinit/ipconfig/packet.h Examining data/klibc-2.0.8/usr/kinit/ipconfig/packet.c Examining data/klibc-2.0.8/usr/kinit/ipconfig/netdev.h Examining data/klibc-2.0.8/usr/kinit/ipconfig/netdev.c Examining data/klibc-2.0.8/usr/kinit/ipconfig/main.c Examining data/klibc-2.0.8/usr/kinit/ipconfig/ipconfig.h Examining data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.h Examining data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c Examining data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.h Examining data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c Examining data/klibc-2.0.8/usr/kinit/ipconfig/bootp_packet.h Examining data/klibc-2.0.8/usr/kinit/initrd.c Examining data/klibc-2.0.8/usr/kinit/getintfile.c Examining data/klibc-2.0.8/usr/kinit/getarg.c Examining data/klibc-2.0.8/usr/kinit/fstype/xfs_sb.h Examining data/klibc-2.0.8/usr/kinit/fstype/swap_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/squashfs_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/romfs_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/reiserfs_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/reiser4_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/ocfs2_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/nilfs_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/minix_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/main.c Examining data/klibc-2.0.8/usr/kinit/fstype/lvm2_sb.h Examining data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/jfs_superblock.h Examining data/klibc-2.0.8/usr/kinit/fstype/iso9660_sb.h Examining data/klibc-2.0.8/usr/kinit/fstype/gfs2_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/fstype.h Examining data/klibc-2.0.8/usr/kinit/fstype/fstype.c Examining data/klibc-2.0.8/usr/kinit/fstype/ext3_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/ext2_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/cramfs_fs.h Examining data/klibc-2.0.8/usr/kinit/fstype/btrfs.h Examining data/klibc-2.0.8/usr/kinit/do_mounts_mtd.c Examining data/klibc-2.0.8/usr/kinit/do_mounts_md.c Examining data/klibc-2.0.8/usr/kinit/do_mounts.h Examining data/klibc-2.0.8/usr/kinit/do_mounts.c Examining data/klibc-2.0.8/usr/kinit/devname.c Examining data/klibc-2.0.8/usr/kinit/capabilities.h Examining data/klibc-2.0.8/usr/kinit/capabilities.c Examining data/klibc-2.0.8/usr/include/zlib.h Examining data/klibc-2.0.8/usr/include/zconf.h Examining data/klibc-2.0.8/usr/include/utime.h Examining data/klibc-2.0.8/usr/include/unistd.h Examining data/klibc-2.0.8/usr/include/time.h Examining data/klibc-2.0.8/usr/include/termios.h Examining data/klibc-2.0.8/usr/include/syslog.h Examining data/klibc-2.0.8/usr/include/sysexits.h Examining data/klibc-2.0.8/usr/include/sys/wait.h Examining data/klibc-2.0.8/usr/include/sys/vfs.h Examining data/klibc-2.0.8/usr/include/sys/utsname.h Examining data/klibc-2.0.8/usr/include/sys/utime.h Examining data/klibc-2.0.8/usr/include/sys/un.h Examining data/klibc-2.0.8/usr/include/sys/uio.h Examining data/klibc-2.0.8/usr/include/sys/types.h Examining data/klibc-2.0.8/usr/include/sys/times.h Examining data/klibc-2.0.8/usr/include/sys/time.h Examining data/klibc-2.0.8/usr/include/sys/sysmacros.h Examining data/klibc-2.0.8/usr/include/sys/sysinfo.h Examining data/klibc-2.0.8/usr/include/sys/sysconf.h Examining data/klibc-2.0.8/usr/include/sys/syscall.h Examining data/klibc-2.0.8/usr/include/sys/statfs.h Examining data/klibc-2.0.8/usr/include/sys/stat.h Examining data/klibc-2.0.8/usr/include/sys/splice.h Examining data/klibc-2.0.8/usr/include/sys/socket.h Examining data/klibc-2.0.8/usr/include/sys/sendfile.h Examining data/klibc-2.0.8/usr/include/sys/select.h Examining data/klibc-2.0.8/usr/include/sys/resource.h Examining data/klibc-2.0.8/usr/include/sys/reboot.h Examining data/klibc-2.0.8/usr/include/sys/prctl.h Examining data/klibc-2.0.8/usr/include/sys/poll.h Examining data/klibc-2.0.8/usr/include/sys/param.h Examining data/klibc-2.0.8/usr/include/sys/mount.h Examining data/klibc-2.0.8/usr/include/sys/mman.h Examining data/klibc-2.0.8/usr/include/sys/md.h Examining data/klibc-2.0.8/usr/include/sys/klog.h Examining data/klibc-2.0.8/usr/include/sys/ioctl.h Examining data/klibc-2.0.8/usr/include/sys/inotify.h Examining data/klibc-2.0.8/usr/include/sys/fsuid.h Examining data/klibc-2.0.8/usr/include/sys/file.h Examining data/klibc-2.0.8/usr/include/sys/elfcommon.h Examining data/klibc-2.0.8/usr/include/sys/elf64.h Examining data/klibc-2.0.8/usr/include/sys/elf32.h Examining data/klibc-2.0.8/usr/include/sys/dirent.h Examining data/klibc-2.0.8/usr/include/sys/capability.h Examining data/klibc-2.0.8/usr/include/sys/auxv.h Examining data/klibc-2.0.8/usr/include/string.h Examining data/klibc-2.0.8/usr/include/stdlib.h Examining data/klibc-2.0.8/usr/include/stdio.h Examining data/klibc-2.0.8/usr/include/stdint.h Examining data/klibc-2.0.8/usr/include/stddef.h Examining data/klibc-2.0.8/usr/include/stdarg.h Examining data/klibc-2.0.8/usr/include/signal.h Examining data/klibc-2.0.8/usr/include/setjmp.h Examining data/klibc-2.0.8/usr/include/sched.h Examining data/klibc-2.0.8/usr/include/pwd.h Examining data/klibc-2.0.8/usr/include/poll.h Examining data/klibc-2.0.8/usr/include/paths.h Examining data/klibc-2.0.8/usr/include/netpacket/packet.h Examining data/klibc-2.0.8/usr/include/netinet/udp.h Examining data/klibc-2.0.8/usr/include/netinet/tcp.h Examining data/klibc-2.0.8/usr/include/netinet/ip.h Examining data/klibc-2.0.8/usr/include/netinet/in6.h Examining data/klibc-2.0.8/usr/include/netinet/in.h Examining data/klibc-2.0.8/usr/include/netinet/if_ether.h Examining data/klibc-2.0.8/usr/include/net/route.h Examining data/klibc-2.0.8/usr/include/net/if_packet.h Examining data/klibc-2.0.8/usr/include/net/if_arp.h Examining data/klibc-2.0.8/usr/include/net/if.h Examining data/klibc-2.0.8/usr/include/mntent.h Examining data/klibc-2.0.8/usr/include/malloc.h Examining data/klibc-2.0.8/usr/include/limits.h Examining data/klibc-2.0.8/usr/include/klibc/stathelp.h Examining data/klibc-2.0.8/usr/include/klibc/seek.h Examining data/klibc-2.0.8/usr/include/klibc/extern.h Examining data/klibc-2.0.8/usr/include/klibc/endian.h Examining data/klibc-2.0.8/usr/include/klibc/diverr.h Examining data/klibc-2.0.8/usr/include/klibc/compiler.h Examining data/klibc-2.0.8/usr/include/klibc/sysconfig.h Examining data/klibc-2.0.8/usr/include/inttypes.h Examining data/klibc-2.0.8/usr/include/grp.h Examining data/klibc-2.0.8/usr/include/getopt.h Examining data/klibc-2.0.8/usr/include/fnmatch.h Examining data/klibc-2.0.8/usr/include/fcntl.h Examining data/klibc-2.0.8/usr/include/errno.h Examining data/klibc-2.0.8/usr/include/endian.h Examining data/klibc-2.0.8/usr/include/elf.h Examining data/klibc-2.0.8/usr/include/dirent.h Examining data/klibc-2.0.8/usr/include/ctype.h Examining data/klibc-2.0.8/usr/include/byteswap.h Examining data/klibc-2.0.8/usr/include/bits64/bitsize/stdintlimits.h Examining data/klibc-2.0.8/usr/include/bits64/bitsize/stdintconst.h Examining data/klibc-2.0.8/usr/include/bits64/bitsize/stdint.h Examining data/klibc-2.0.8/usr/include/bits64/bitsize/limits.h Examining data/klibc-2.0.8/usr/include/bits64/bitsize.h Examining data/klibc-2.0.8/usr/include/bits32/bitsize/stdintlimits.h Examining data/klibc-2.0.8/usr/include/bits32/bitsize/stdintconst.h Examining data/klibc-2.0.8/usr/include/bits32/bitsize/stdint.h Examining data/klibc-2.0.8/usr/include/bits32/bitsize/limits.h Examining data/klibc-2.0.8/usr/include/bits32/bitsize.h Examining data/klibc-2.0.8/usr/include/assert.h Examining data/klibc-2.0.8/usr/include/arpa/inet.h Examining data/klibc-2.0.8/usr/include/arch/x86_64/sys/io.h Examining data/klibc-2.0.8/usr/include/arch/x86_64/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/x86_64/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/x86_64/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/x86_64/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/sparc64/machine/frame.h Examining data/klibc-2.0.8/usr/include/arch/sparc64/machine/asm.h Examining data/klibc-2.0.8/usr/include/arch/sparc64/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/sparc64/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/sparc64/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/sparc64/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/sparc/machine/trap.h Examining data/klibc-2.0.8/usr/include/arch/sparc/machine/frame.h Examining data/klibc-2.0.8/usr/include/arch/sparc/machine/asm.h Examining data/klibc-2.0.8/usr/include/arch/sparc/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/sparc/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/sparc/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/sparc/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/sh/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/sh/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/sh/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/sh/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/s390/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/s390/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/s390/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/s390/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/riscv64/machine/asm.h Examining data/klibc-2.0.8/usr/include/arch/riscv64/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/riscv64/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/riscv64/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/riscv64/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/ppc64/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/ppc64/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/ppc64/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/ppc64/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/ppc/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/ppc/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/ppc/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/ppc/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/parisc/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/parisc/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/parisc/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/parisc/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/mips64/machine/asm.h Examining data/klibc-2.0.8/usr/include/arch/mips64/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/mips64/klibc/archsocket.h Examining data/klibc-2.0.8/usr/include/arch/mips64/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/mips64/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/mips64/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/mips/spaces.h Examining data/klibc-2.0.8/usr/include/arch/mips/sgidefs.h Examining data/klibc-2.0.8/usr/include/arch/mips/machine/asm.h Examining data/klibc-2.0.8/usr/include/arch/mips/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/mips/klibc/archsocket.h Examining data/klibc-2.0.8/usr/include/arch/mips/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/mips/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/mips/klibc/archfcntl.h Examining data/klibc-2.0.8/usr/include/arch/mips/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/m68k/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/m68k/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/m68k/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/m68k/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/ia64/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/ia64/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/ia64/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/ia64/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/i386/sys/vm86.h Examining data/klibc-2.0.8/usr/include/arch/i386/sys/io.h Examining data/klibc-2.0.8/usr/include/arch/i386/klibc/diverr.h Examining data/klibc-2.0.8/usr/include/arch/i386/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/i386/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/i386/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/i386/klibc/archinit.h Examining data/klibc-2.0.8/usr/include/arch/i386/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/arm64/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/arm64/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/arm64/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/arm64/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/arm/klibc/asmmacros.h Examining data/klibc-2.0.8/usr/include/arch/arm/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/arm/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/arm/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/arm/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/arch/alpha/machine/asm.h Examining data/klibc-2.0.8/usr/include/arch/alpha/klibc/archstat.h Examining data/klibc-2.0.8/usr/include/arch/alpha/klibc/archsetjmp.h Examining data/klibc-2.0.8/usr/include/arch/alpha/klibc/archsignal.h Examining data/klibc-2.0.8/usr/include/arch/alpha/klibc/archconfig.h Examining data/klibc-2.0.8/usr/include/alloca.h Examining data/klibc-2.0.8/usr/gzip/zip.c Examining data/klibc-2.0.8/usr/gzip/util.c Examining data/klibc-2.0.8/usr/gzip/unzip.c Examining data/klibc-2.0.8/usr/gzip/trees.c Examining data/klibc-2.0.8/usr/gzip/tailor.h Examining data/klibc-2.0.8/usr/gzip/revision.h Examining data/klibc-2.0.8/usr/gzip/inflate.c Examining data/klibc-2.0.8/usr/gzip/gzip.h Examining data/klibc-2.0.8/usr/gzip/gzip.c Examining data/klibc-2.0.8/usr/gzip/deflate.c Examining data/klibc-2.0.8/usr/gzip/bits.c Examining data/klibc-2.0.8/usr/dash/var.h Examining data/klibc-2.0.8/usr/dash/var.c Examining data/klibc-2.0.8/usr/dash/trap.h Examining data/klibc-2.0.8/usr/dash/trap.c Examining data/klibc-2.0.8/usr/dash/system.h Examining data/klibc-2.0.8/usr/dash/system.c Examining data/klibc-2.0.8/usr/dash/show.h Examining data/klibc-2.0.8/usr/dash/show.c Examining data/klibc-2.0.8/usr/dash/shell.h Examining data/klibc-2.0.8/usr/dash/redir.h Examining data/klibc-2.0.8/usr/dash/redir.c Examining data/klibc-2.0.8/usr/dash/parser.h Examining data/klibc-2.0.8/usr/dash/parser.c Examining data/klibc-2.0.8/usr/dash/output.h Examining data/klibc-2.0.8/usr/dash/output.c Examining data/klibc-2.0.8/usr/dash/options.h Examining data/klibc-2.0.8/usr/dash/options.c Examining data/klibc-2.0.8/usr/dash/mystring.h Examining data/klibc-2.0.8/usr/dash/mystring.c Examining data/klibc-2.0.8/usr/dash/myhistedit.h Examining data/klibc-2.0.8/usr/dash/mksyntax.c Examining data/klibc-2.0.8/usr/dash/mknodes.c Examining data/klibc-2.0.8/usr/dash/mkinit.c Examining data/klibc-2.0.8/usr/dash/miscbltin.h Examining data/klibc-2.0.8/usr/dash/miscbltin.c Examining data/klibc-2.0.8/usr/dash/memalloc.h Examining data/klibc-2.0.8/usr/dash/memalloc.c Examining data/klibc-2.0.8/usr/dash/main.h Examining data/klibc-2.0.8/usr/dash/main.c Examining data/klibc-2.0.8/usr/dash/mail.h Examining data/klibc-2.0.8/usr/dash/mail.c Examining data/klibc-2.0.8/usr/dash/machdep.h Examining data/klibc-2.0.8/usr/dash/jobs.h Examining data/klibc-2.0.8/usr/dash/jobs.c Examining data/klibc-2.0.8/usr/dash/input.h Examining data/klibc-2.0.8/usr/dash/input.c Examining data/klibc-2.0.8/usr/dash/init.h Examining data/klibc-2.0.8/usr/dash/histedit.c Examining data/klibc-2.0.8/usr/dash/hetio.h Examining data/klibc-2.0.8/usr/dash/hetio.c Examining data/klibc-2.0.8/usr/dash/expand.h Examining data/klibc-2.0.8/usr/dash/expand.c Examining data/klibc-2.0.8/usr/dash/exec.h Examining data/klibc-2.0.8/usr/dash/exec.c Examining data/klibc-2.0.8/usr/dash/eval.h Examining data/klibc-2.0.8/usr/dash/eval.c Examining data/klibc-2.0.8/usr/dash/error.h Examining data/klibc-2.0.8/usr/dash/error.c Examining data/klibc-2.0.8/usr/dash/config.h Examining data/klibc-2.0.8/usr/dash/cd.h Examining data/klibc-2.0.8/usr/dash/cd.c Examining data/klibc-2.0.8/usr/dash/bltin/test.c Examining data/klibc-2.0.8/usr/dash/bltin/printf.c Examining data/klibc-2.0.8/usr/dash/bltin/bltin.h Examining data/klibc-2.0.8/usr/dash/arith_yylex.c Examining data/klibc-2.0.8/usr/dash/arith_yacc.h Examining data/klibc-2.0.8/usr/dash/arith_yacc.c Examining data/klibc-2.0.8/usr/dash/alias.h Examining data/klibc-2.0.8/usr/dash/alias.c Examining data/klibc-2.0.8/scripts/basic/fixdep.c FINAL RESULTS: data/klibc-2.0.8/usr/gzip/gzip.c:1121:12: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. (void) chmod(ofname, 0777); data/klibc-2.0.8/usr/gzip/gzip.c:1169: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(ofname, ifstat->st_mode & 07777)) { data/klibc-2.0.8/usr/gzip/gzip.c:1174:5: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. chown(ofname, ifstat->st_uid, ifstat->st_gid); /* Copy ownership */ data/klibc-2.0.8/usr/gzip/gzip.c:1178:12: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. (void) chmod(ifname, 0777); data/klibc-2.0.8/usr/include/unistd.h:69:14: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. __extern int chmod(const char *, mode_t); data/klibc-2.0.8/usr/include/unistd.h:79:14: [5] (race) readlink: This accepts filename arguments; if an attacker can move those files or change the link content, a race condition results. Also, it does not terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach. __extern int readlink(const char *, char *, size_t); data/klibc-2.0.8/usr/include/unistd.h:81:14: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. __extern int chown(const char *, uid_t, gid_t); data/klibc-2.0.8/usr/klibc/chmod.c:8:5: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. int chmod(const char *path, mode_t mode) data/klibc-2.0.8/usr/klibc/chown.c:7:5: [5] (race) chown: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchown( ) instead. int chown(const char *path, uid_t owner, gid_t group) data/klibc-2.0.8/usr/klibc/readlink.c:7: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. int readlink(const char *path, char *buf, size_t bufsiz) data/klibc-2.0.8/usr/klibc/realpath.c:37: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. len = readlink(proc_fd_name, resolved_name, PATH_MAX - 1); data/klibc-2.0.8/usr/utils/cpio.c:662:7: [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_hdr->c_name, file_hdr->c_uid, file_hdr->c_gid) < 0) data/klibc-2.0.8/usr/utils/cpio.c:668:6: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if (chmod(file_hdr->c_name, (int)file_hdr->c_mode) < 0) data/klibc-2.0.8/usr/utils/cpio.c:784:7: [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_hdr->c_name, file_hdr->c_uid, file_hdr->c_gid) < 0) data/klibc-2.0.8/usr/utils/cpio.c:789:6: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if (chmod(file_hdr->c_name, (int)file_hdr->c_mode) < 0) data/klibc-2.0.8/usr/utils/cpio.c:819:7: [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_hdr->c_name, file_hdr->c_uid, file_hdr->c_gid) < 0) data/klibc-2.0.8/usr/utils/cpio.c:824:6: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. if (chmod(file_hdr->c_name, file_hdr->c_mode) < 0) data/klibc-2.0.8/usr/utils/ls.c:141: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. rc = readlink(path, link_name, max_linksiz); data/klibc-2.0.8/usr/utils/mkdir.c:97: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 (ret == 0 && chmod(dir, leaf_mode) == -1) { data/klibc-2.0.8/usr/utils/mknod.c:78: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_set && chmod(name, mode_set)) { data/klibc-2.0.8/usr/utils/readlink.c:47: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. rv = readlink(name, link_name, sizeof link_name - 1); data/klibc-2.0.8/usr/dash/bltin/bltin.h:58: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. #define printf out1fmt data/klibc-2.0.8/usr/dash/bltin/bltin.h:62:9: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. #define fprintf outfmt data/klibc-2.0.8/usr/dash/bltin/printf.c:67: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. (void)printf(f, array[0], array[1], func); \ data/klibc-2.0.8/usr/dash/bltin/printf.c:70: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. (void)printf(f, array[0], func); \ data/klibc-2.0.8/usr/dash/bltin/printf.c:73: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. (void)printf(f, func); \ data/klibc-2.0.8/usr/dash/exec.c:206: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(q, name); data/klibc-2.0.8/usr/dash/exec.c:625: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(cmdp->cmdname, name); data/klibc-2.0.8/usr/dash/hetio.c:268:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (parsenextc, hp->s); /* write new command */ data/klibc-2.0.8/usr/dash/histedit.c:342:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(editfile, "%s_shXXXXXX", _PATH_TMP); data/klibc-2.0.8/usr/dash/histedit.c:375:16: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). evalstring(strcpy(stalloc(strlen(s) + 1), s), data/klibc-2.0.8/usr/dash/histedit.c:399:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(editcmd, "%s %s", editor, editfile); data/klibc-2.0.8/usr/dash/mkinit.c:198: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(line2, line); data/klibc-2.0.8/usr/dash/mkinit.c:260:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line, "\n /* from %s: */\n", fname); data/klibc-2.0.8/usr/dash/mkinit.c:467: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, s); data/klibc-2.0.8/usr/dash/mknodes.c:173:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(decl, "union node *%s", name); data/klibc-2.0.8/usr/dash/mknodes.c:176:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(decl, "struct nodelist *%s", name); data/klibc-2.0.8/usr/dash/mknodes.c:179:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(decl, "char *%s", name); data/klibc-2.0.8/usr/dash/mknodes.c:182:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(decl, "int %s", name); data/klibc-2.0.8/usr/dash/mknodes.c:428:9: [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. (void) vfprintf(stderr, msg, va); data/klibc-2.0.8/usr/dash/mknodes.c:446: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(p, s); data/klibc-2.0.8/usr/dash/mksyntax.c:132:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, "#define %s %d", synclass[i].name, i); data/klibc-2.0.8/usr/dash/mksyntax.c:141:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, "#define %s %#o", is_entry[i].name, 1 << i); data/klibc-2.0.8/usr/dash/mystring.h:63:30: [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 scopy(s1, s2) ((void)strcpy(s2, s1)) data/klibc-2.0.8/usr/dash/output.c:396:8: [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. ret = vsnprintf(outbuf, length, fmt, ap); data/klibc-2.0.8/usr/dash/output.h:104:27: [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 doformat(d, f, a) vfprintf((d)->stream, (f), (a)) data/klibc-2.0.8/usr/dash/show.c:276:9: [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. (void) vfprintf(tracefile, fmt, va); data/klibc-2.0.8/usr/dash/show.c:285:9: [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. (void) vfprintf(tracefile, fmt, va); data/klibc-2.0.8/usr/gzip/gzip.c:304:13: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(z_suffix, optarg); data/klibc-2.0.8/usr/gzip/gzip.c:680:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(suffix, name); data/klibc-2.0.8/usr/gzip/gzip.c:682:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(suffix, name+nlen-MAX_SUFFIX-2); data/klibc-2.0.8/usr/gzip/gzip.c:714: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(ifname, iname); data/klibc-2.0.8/usr/gzip/gzip.c:739:9: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(ifname, s); data/klibc-2.0.8/usr/gzip/gzip.c:745: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(ifname, z_suffix); data/klibc-2.0.8/usr/gzip/gzip.c:759: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(ofname, ifname); data/klibc-2.0.8/usr/gzip/gzip.c:796:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(ofname, z_suffix); data/klibc-2.0.8/usr/gzip/gzip.c:1046: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(trunc, z_suffix); data/klibc-2.0.8/usr/gzip/gzip.h:228:20: [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) fprintf x data/klibc-2.0.8/usr/gzip/gzip.h:229:35: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. # define Tracev(x) {if (verbose) fprintf x ;} data/klibc-2.0.8/usr/gzip/gzip.h:230:38: [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 (verbose>1) fprintf x ;} data/klibc-2.0.8/usr/gzip/gzip.h:231:44: [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 (verbose && (c)) fprintf x ;} data/klibc-2.0.8/usr/gzip/gzip.h:232:47: [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 (verbose>1 && (c)) fprintf x ;} data/klibc-2.0.8/usr/gzip/gzip.h:242:32: [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 WARN(msg) {if (!quiet) fprintf msg ; \ data/klibc-2.0.8/usr/gzip/util.c:203: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). env = strcpy(p, env); /* keep env variable intact */ data/klibc-2.0.8/usr/include/stdio.h:71:14: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. __extern int printf(const char *, ...); data/klibc-2.0.8/usr/include/stdio.h:72:14: [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. __extern int vprintf(const char *, va_list); data/klibc-2.0.8/usr/include/stdio.h:73:14: [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. __extern int fprintf(FILE *, const char *, ...); data/klibc-2.0.8/usr/include/stdio.h:74:14: [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. __extern int vfprintf(FILE *, const char *, va_list); data/klibc-2.0.8/usr/include/stdio.h:75:14: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. __extern int sprintf(char *, const char *, ...); data/klibc-2.0.8/usr/include/stdio.h:76:14: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. __extern int vsprintf(char *, const char *, va_list); data/klibc-2.0.8/usr/include/stdio.h:77:14: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. __extern int snprintf(char *, size_t n, const char *, ...); data/klibc-2.0.8/usr/include/stdio.h:78:14: [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. __extern int vsnprintf(char *, size_t n, const char *, va_list); data/klibc-2.0.8/usr/include/stdio.h:82:14: [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. __extern int sscanf(const char *, const char *, ...); data/klibc-2.0.8/usr/include/stdio.h:83:14: [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. __extern int vsscanf(const char *, const char *, va_list); data/klibc-2.0.8/usr/include/stdlib.h:23:14: [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. __extern int system(const char *string); data/klibc-2.0.8/usr/include/string.h:23:16: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). __extern char *strcat(char *, const char *); data/klibc-2.0.8/usr/include/string.h:29:16: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). __extern char *strcpy(char *, const char *); data/klibc-2.0.8/usr/include/syslog.h:58:15: [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/klibc-2.0.8/usr/include/unistd.h:28:14: [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(const char *, char *const *); data/klibc-2.0.8/usr/include/unistd.h:29:14: [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. __extern int execvp(const char *, char *const *); data/klibc-2.0.8/usr/include/unistd.h:32:14: [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(const char *, const char *, ...); data/klibc-2.0.8/usr/include/unistd.h:33:14: [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. __extern int execlp(const char *, const char *, ...); data/klibc-2.0.8/usr/include/unistd.h:34:14: [4] (shell) execle: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. __extern int execle(const char *, const char *, ...); data/klibc-2.0.8/usr/include/unistd.h:61: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. __extern int access(const char *, int); data/klibc-2.0.8/usr/kinit/capabilities.c:67:62: [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 void fail(const char *fmt, ...) __attribute__((format(printf, 1, 2))); data/klibc-2.0.8/usr/kinit/capabilities.c:73:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, fmt, args); data/klibc-2.0.8/usr/kinit/devname.c:46: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(dirtailptr, de->d_name); data/klibc-2.0.8/usr/kinit/devname.c:70: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(namebuf, de->d_name); data/klibc-2.0.8/usr/kinit/do_mounts.c:110: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(extra->end, s); data/klibc-2.0.8/usr/kinit/do_mounts.c:379:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(p, src); data/klibc-2.0.8/usr/kinit/initrd.c:121:3: [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("/linuxrc", "linuxrc", NULL); data/klibc-2.0.8/usr/kinit/initrd.c:171: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("/initrd.image", R_OK)) data/klibc-2.0.8/usr/kinit/ipconfig/ipconfig.h:20:18: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. # define dprintf printf data/klibc-2.0.8/usr/kinit/ipconfig/main.c:692: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(dev->hostname, template->hostname); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:694: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(dev->reqhostname, template->reqhostname); data/klibc-2.0.8/usr/kinit/kinit.c:175: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 (user && user[0] == '/' && !access(user+1, X_OK)) { data/klibc-2.0.8/usr/kinit/kinit.c:180: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(*p+1, X_OK)) data/klibc-2.0.8/usr/kinit/kinit.h:53:18: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. # define dprintf printf data/klibc-2.0.8/usr/kinit/name_to_dev.c:117:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(dname, "/dev/%s", name); data/klibc-2.0.8/usr/kinit/nfsmount/nfsmount.h:22:18: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. # define dprintf printf data/klibc-2.0.8/usr/kinit/nfsroot.c:24: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(buf, len, path, inet_ntoa(addr)); data/klibc-2.0.8/usr/kinit/nfsroot.c:25: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, buf); data/klibc-2.0.8/usr/kinit/nfsroot.c:90: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, path); data/klibc-2.0.8/usr/kinit/run-init/runinitlib.c:221: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(init, initargs); data/klibc-2.0.8/usr/klibc/access.c:7: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. int access(const char *pathname, int mode) data/klibc-2.0.8/usr/klibc/execl.c:5:14: [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. #define NAME execl data/klibc-2.0.8/usr/klibc/execle.c:5:14: [4] (shell) execle: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. #define NAME execle data/klibc-2.0.8/usr/klibc/execlp.c:5:14: [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. #define NAME execlp data/klibc-2.0.8/usr/klibc/execv.c:7: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. int execv(const char *path, char *const *argv) data/klibc-2.0.8/usr/klibc/execvp.c:7: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. int execvp(const char *path, char *const *argv) data/klibc-2.0.8/usr/klibc/fprintf.c:10:5: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. int fprintf(FILE * file, const char *format, ...) data/klibc-2.0.8/usr/klibc/fprintf.c:16: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. rv = vfprintf(file, format, ap); data/klibc-2.0.8/usr/klibc/getdomainname.c:22: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(name, un.domainname); data/klibc-2.0.8/usr/klibc/gethostname.c:22: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(name, un.nodename); data/klibc-2.0.8/usr/klibc/printf.c:10:5: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. int printf(const char *format, ...) data/klibc-2.0.8/usr/klibc/printf.c:16: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. rv = vfprintf(stdout, format, ap); data/klibc-2.0.8/usr/klibc/realpath.c:36:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(proc_fd_name, "%s%d", proc_fd_prefix, fd); data/klibc-2.0.8/usr/klibc/snprintf.c:7:5: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int snprintf(char *buffer, size_t n, const char *format, ...) data/klibc-2.0.8/usr/klibc/snprintf.c:13:7: [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. rv = vsnprintf(buffer, n, format, ap); data/klibc-2.0.8/usr/klibc/sprintf.c:8:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. int sprintf(char *buffer, const char *format, ...) data/klibc-2.0.8/usr/klibc/sprintf.c:14:7: [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. rv = vsnprintf(buffer, ~(size_t) 0, format, ap); data/klibc-2.0.8/usr/klibc/sscanf.c:7:5: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. int sscanf(const char *str, const char *format, ...) data/klibc-2.0.8/usr/klibc/sscanf.c:13:7: [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. rv = vsscanf(str, format, ap); data/klibc-2.0.8/usr/klibc/strcat.c:7:7: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). char *strcat(char *dst, const char *src) data/klibc-2.0.8/usr/klibc/strcat.c:9: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(strchr(dst, '\0'), src); data/klibc-2.0.8/usr/klibc/strcpy.c:9:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). char *strcpy(char *dst, const char *src) data/klibc-2.0.8/usr/klibc/syslog.c:61:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. len += sprintf(buf + 3, "%s[%u]: ", id, getpid()); data/klibc-2.0.8/usr/klibc/syslog.c:63:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. len += sprintf(buf + 3, "%s: ", id); data/klibc-2.0.8/usr/klibc/syslog.c:65: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. len += vsnprintf(buf + len, BUFLEN - len, format, ap); data/klibc-2.0.8/usr/klibc/syslog.c:82:6: [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. void syslog(int prio, const char *format, ...) data/klibc-2.0.8/usr/klibc/system.c:15:5: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. int system(const char *string) data/klibc-2.0.8/usr/klibc/vasprintf.c:17:10: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. bytes = vsnprintf(NULL, 0, format, ap1) + 1; data/klibc-2.0.8/usr/klibc/vasprintf.c:24: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(p, bytes, format, ap); data/klibc-2.0.8/usr/klibc/vfprintf.c:12:5: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. int vfprintf(FILE * file, const char *format, va_list ap) data/klibc-2.0.8/usr/klibc/vfprintf.c:17:7: [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. rv = vsnprintf(buffer, BUFFER_SIZE, format, ap); data/klibc-2.0.8/usr/klibc/vprintf.c:8:5: [4] (format) vprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. int vprintf(const char *format, va_list ap) data/klibc-2.0.8/usr/klibc/vprintf.c:10:9: [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. return vfprintf(stdout, format, ap); data/klibc-2.0.8/usr/klibc/vsnprintf.c:168:5: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. int vsnprintf(char *buffer, size_t n, const char *format, va_list ap) data/klibc-2.0.8/usr/klibc/vsprintf.c:8:5: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. int vsprintf(char *buffer, const char *format, va_list ap) data/klibc-2.0.8/usr/klibc/vsprintf.c:10: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(buffer, ~(size_t) 0, format, ap); data/klibc-2.0.8/usr/klibc/vsscanf.c:68:5: [4] (buffer) vsscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. int vsscanf(const char *buffer, const char *format, va_list ap) data/klibc-2.0.8/usr/klibc/zlib/gzio.c:131:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(s->path, path); /* do this early for debugging */ data/klibc-2.0.8/usr/klibc/zlib/gzio.c:615:11: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. (void)vsprintf(buf, format, va); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:620:11: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. len = vsprintf(buf, format, va); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:625:11: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. (void)vsnprintf(buf, sizeof(buf), format, va); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:629:11: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. len = vsnprintf(buf, sizeof(buf), format, va); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:652:5: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8, data/klibc-2.0.8/usr/klibc/zlib/gzio.c:657:11: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. len = sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8, data/klibc-2.0.8/usr/klibc/zlib/gzio.c:662:5: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8, data/klibc-2.0.8/usr/klibc/zlib/gzio.c:666:11: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. len = snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8, data/klibc-2.0.8/usr/klibc/zlib/gzio.c:1010: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->msg, s->path); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:1012: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(s->msg, m); data/klibc-2.0.8/usr/klibc/zlib/zutil.h:199: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:200: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:246: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:247: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:248: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:249: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:250: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/klibc-2.0.8/usr/utils/chroot.c:24:6: [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. if (execvp(argv[2], argv + 2) == -1) { data/klibc-2.0.8/usr/utils/cpio.c:261: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(d->header.c_name, file_hdr->c_name); data/klibc-2.0.8/usr/utils/losetup.c:301:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf (stderr, fmt, args); data/klibc-2.0.8/usr/utils/ls.c:112:3: [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(stdout, fmt, data/klibc-2.0.8/usr/utils/ls.c:126:3: [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(stdout, fmt, data/klibc-2.0.8/usr/utils/minips.c:79:2: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr, data/klibc-2.0.8/usr/utils/minips.c:322:8: [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. num = sscanf(tmp + 2, /* skip space after ')' too */ data/klibc-2.0.8/usr/utils/mount_opts.c:60: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(extra->end, s); data/klibc-2.0.8/usr/dash/bltin/bltin.h:77: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(p) bltinlookup((p),0) data/klibc-2.0.8/usr/dash/histedit.c:223:14: [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. (ch = getopt(argc, argv, ":e:lnrs")) != -1) data/klibc-2.0.8/usr/dash/show.c:368: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 ((p = getenv(homestr)) == NULL) { data/klibc-2.0.8/usr/gzip/gzip.c:279:20: [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. while ((optc = getopt(argc, argv, "cdfhH?LmMnNqrS:tvV123456789")) != EOF) { data/klibc-2.0.8/usr/gzip/util.c:199: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. env = (char*)getenv(env); data/klibc-2.0.8/usr/include/getopt.h:19:14: [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 *, data/klibc-2.0.8/usr/include/stdlib.h:47:16: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. __extern char *getenv(const char *); data/klibc-2.0.8/usr/include/stdlib.h:58:15: [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 *); data/klibc-2.0.8/usr/include/stdlib.h:59:15: [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/klibc-2.0.8/usr/include/stdlib.h:60:15: [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 *); data/klibc-2.0.8/usr/include/stdlib.h:61:15: [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/klibc-2.0.8/usr/include/stdlib.h:62:26: [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(const unsigned short *); data/klibc-2.0.8/usr/include/stdlib.h:68:14: [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. return (int)lrand48(); data/klibc-2.0.8/usr/include/stdlib.h:70:24: [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. static __inline__ void srand(unsigned int __s) data/klibc-2.0.8/usr/include/stdlib.h:74:24: [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. static __inline__ long random(void) data/klibc-2.0.8/usr/include/stdlib.h:76: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. return lrand48(); data/klibc-2.0.8/usr/include/stdlib.h:78:24: [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. static __inline__ void srandom(unsigned int __s) data/klibc-2.0.8/usr/include/stdlib.h:102:16: [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. __extern char *realpath(const char *, char *); data/klibc-2.0.8/usr/include/unistd.h:76:14: [3] (misc) chroot: chroot can be very helpful, but is hard to use correctly (CWE-250, CWE-22). Make sure the program immediately chdir("/"), closes file descriptors, and drops root privileges, and that all necessary files (and no more!) are in the new root. __extern int chroot(const char *); data/klibc-2.0.8/usr/include/unistd.h:139:14: [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/klibc-2.0.8/usr/kinit/initrd.c:113:46: [3] (misc) chroot: chroot can be very helpful, but is hard to use correctly (CWE-250, CWE-22). Make sure the program immediately chdir("/"), closes file descriptors, and drops root privileges, and that all necessary files (and no more!) are in the new root. mount(".", "/", NULL, MS_MOVE, NULL) || chroot(".")) data/klibc-2.0.8/usr/kinit/initrd.c:134:25: [3] (misc) chroot: chroot can be very helpful, but is hard to use correctly (CWE-250, CWE-22). Make sure the program immediately chdir("/"), closes file descriptors, and drops root privileges, and that all necessary files (and no more!) are in the new root. fchdir(root_fd) || chroot(".")) data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:561:30: [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. dev->bootp.xid = (uint32_t) lrand48(); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:853:7: [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. c = getopt(argc, argv, "c:d:i:onp:t:"); data/klibc-2.0.8/usr/kinit/nfsmount/main.c:208:14: [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. while ((c = getopt(argc, argv, "o:p:")) != EOF) { data/klibc-2.0.8/usr/kinit/nfsmount/sunrpc.c:58:27: [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. rpc->call->hdr.udp.xid = lrand48(); data/klibc-2.0.8/usr/kinit/nfsmount/sunrpc.c:105:34: [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. int timeout_ms = TIMEOUT_MS + (lrand48() % (TIMEOUT_MS / 2)); data/klibc-2.0.8/usr/kinit/run-init/run-init.c:84:14: [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. while ((o = getopt(argc, argv, "c:d:pn")) != -1) { data/klibc-2.0.8/usr/kinit/run-init/runinitlib.c:202:6: [3] (misc) chroot: chroot can be very helpful, but is hard to use correctly (CWE-250, CWE-22). Make sure the program immediately chdir("/"), closes file descriptors, and drops root privileges, and that all necessary files (and no more!) are in the new root. if (chroot(".") || chdir("/")) data/klibc-2.0.8/usr/klibc/execvpe.c:36: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. searchpath = getenv("PATH"); data/klibc-2.0.8/usr/klibc/getenv.c:9: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/klibc-2.0.8/usr/klibc/getopt.c:19: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. int getopt(int argc, char *const *argv, const char *optstring) data/klibc-2.0.8/usr/klibc/getopt_long.c:38:5: [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. int getopt_long(int argc, char *const *argv, const char *optstring, data/klibc-2.0.8/usr/klibc/jrand48.c:8:6: [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. long jrand48(unsigned short xsubi[3]) data/klibc-2.0.8/usr/klibc/lrand48.c:10:6: [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. long lrand48(void) data/klibc-2.0.8/usr/klibc/lrand48.c:12:20: [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. return (uint32_t) jrand48(__rand48_seed) >> 1; data/klibc-2.0.8/usr/klibc/mrand48.c:10:6: [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. long mrand48(void) data/klibc-2.0.8/usr/klibc/mrand48.c:12: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. return jrand48(__rand48_seed); data/klibc-2.0.8/usr/klibc/nrand48.c:8:6: [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. long nrand48(unsigned short xsubi[3]) data/klibc-2.0.8/usr/klibc/nrand48.c:10:27: [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. return (long)((uint32_t) jrand48(xsubi) >> 1); data/klibc-2.0.8/usr/klibc/realpath.c:15:7: [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. char *realpath(const char *name, char *resolved_name) data/klibc-2.0.8/usr/klibc/seed48.c:11:17: [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. unsigned short *seed48(const unsigned short xsubi[3]) data/klibc-2.0.8/usr/klibc/tests/getoptlong.c:33: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. parser = getenv("GETOPTTEST"); data/klibc-2.0.8/usr/klibc/tests/getoptlong.c:38:7: [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. c = getopt_long(argc, argv, parser, long_options, &longindex); data/klibc-2.0.8/usr/klibc/tests/getopttest.c:18: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. parser = getenv("GETOPTTEST"); data/klibc-2.0.8/usr/klibc/tests/getopttest.c:23:7: [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. c = getopt(argc, argv, parser); data/klibc-2.0.8/usr/klibc/tests/malloctest2.c:24:7: [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. i = lrand48() % NSLOTS; data/klibc-2.0.8/usr/klibc/tests/malloctest2.c:33: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. sp = lrand48(); /* 32-bit random number */ data/klibc-2.0.8/usr/klibc/tests/malloctest2.c:34:17: [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. sp >>= 12 + (lrand48() % 20); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:17: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. printf("SETENV = %s\n", getenv("SETENV")); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:18: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. printf("PUTENV = %s\n", getenv("PUTENV")); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:23: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. printf("SETENV = %s\n", getenv("SETENV")); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:24: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. printf("PUTENV = %s\n", getenv("PUTENV")); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:29: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. printf("SETENV = %s\n", getenv("SETENV")); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:30: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. printf("NEWENV = %s\n", getenv("NEWENV")); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:35: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. printf("SETENV = %s\n", getenv("SETENV")); data/klibc-2.0.8/usr/klibc/tests/setenvtest.c:36: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. printf("NEWENV = %s\n", getenv("NEWENV")); data/klibc-2.0.8/usr/klibc/tests/testrand48.c:9:12: [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. oldseed = seed48(seed1); data/klibc-2.0.8/usr/klibc/tests/testrand48.c:13:30: [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. printf("lrand48() = %ld\n", lrand48()); data/klibc-2.0.8/usr/klibc/tests/testrand48.c:15:2: [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. seed48(seed1); data/klibc-2.0.8/usr/klibc/tests/testrand48.c:16:30: [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. printf("mrand48() = %ld\n", mrand48()); data/klibc-2.0.8/usr/utils/cat.c:78:15: [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. while ((ch = getopt(argc, argv, "beflnstuv")) != -1) data/klibc-2.0.8/usr/utils/chroot.c:14:6: [3] (misc) chroot: chroot can be very helpful, but is hard to use correctly (CWE-250, CWE-22). Make sure the program immediately chdir("/"), closes file descriptors, and drops root privileges, and that all necessary files (and no more!) are in the new root. if (chroot(argv[1]) == -1) { data/klibc-2.0.8/usr/utils/cpio.c:1031:7: [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. c = getopt(argc, argv, "iV"); data/klibc-2.0.8/usr/utils/dmesg.c:23:16: [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. while ((opt = getopt(argc, argv, "c")) != -1) { data/klibc-2.0.8/usr/utils/ln.c:18:7: [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. c = getopt(argc, argv, "sf"); data/klibc-2.0.8/usr/utils/losetup.c:324:14: [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. while ((c = getopt(argc, argv, "de:E:fho:p:v")) != -1) { data/klibc-2.0.8/usr/utils/minips.c:244: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. columns = getenv("COLUMNS"); data/klibc-2.0.8/usr/utils/mkdir.c:125:7: [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. c = getopt(argc, argv, "pm:"); data/klibc-2.0.8/usr/utils/mkfifo.c:42:7: [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. c = getopt(argc, argv, "m:"); data/klibc-2.0.8/usr/utils/mount_main.c:107:7: [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. c = getopt(argc, argv, "fhino:rt:w"); data/klibc-2.0.8/usr/utils/mv.c:18:7: [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. c = getopt(argc, argv, "f"); data/klibc-2.0.8/usr/utils/readlink.c:24:7: [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. c = getopt(argc, argv, "f"); data/klibc-2.0.8/usr/utils/readlink.c:45: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. rv = realpath(name, link_name) ? strlen(link_name) : -1; data/klibc-2.0.8/usr/utils/umount.c:19:7: [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. c = getopt(argc, argv, "fli"); data/klibc-2.0.8/usr/utils/uname.c:87:16: [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. while ((opt = getopt(argc, argv, "asnrvmpioh")) != -1) { data/klibc-2.0.8/scripts/basic/fixdep.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(str_config+len_config, name, len); data/klibc-2.0.8/scripts/basic/fixdep.c:200:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[PATH_MAX]; data/klibc-2.0.8/scripts/basic/fixdep.c:208: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, m, slen); s[slen] = 0; data/klibc-2.0.8/scripts/basic/fixdep.c:266:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(filename, O_RDONLY); data/klibc-2.0.8/scripts/basic/fixdep.c:296:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[PATH_MAX]; data/klibc-2.0.8/scripts/basic/fixdep.c:303: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, m, p-m); s[p-m] = 0; data/klibc-2.0.8/scripts/basic/fixdep.c:318: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, p-m); s[p-m] = 0; data/klibc-2.0.8/scripts/basic/fixdep.c:337:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(depfile, O_RDONLY); data/klibc-2.0.8/usr/dash/arith_yacc.c:57: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 prec[ARITH_BINOP_MAX - ARITH_BINOP_MIN] = { data/klibc-2.0.8/usr/dash/bltin/printf.c:329: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(copy, str, len - 3); data/klibc-2.0.8/usr/dash/cd.c: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 buf[PATH_MAX]; data/klibc-2.0.8/usr/dash/config.h:185:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). #define open64 open data/klibc-2.0.8/usr/dash/exec.c: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 cmdname[ARB]; /* name of command */ data/klibc-2.0.8/usr/dash/exec.c:202:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(q, start, p - start); data/klibc-2.0.8/usr/dash/expand.c:519:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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/klibc-2.0.8/usr/dash/expand.c:968:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). num = atoi(name); data/klibc-2.0.8/usr/dash/expand.c:1462:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[10]; data/klibc-2.0.8/usr/dash/hetio.c:89: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(new, old, sizeof(*new)); data/klibc-2.0.8/usr/dash/histedit.c:159:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). (histsize = atoi(hs)) < 0) data/klibc-2.0.8/usr/dash/histedit.c:193:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char editfile[MAXPATHLEN + 1]; data/klibc-2.0.8/usr/dash/histedit.c:343:13: [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). if ((fd = mkstemp(editfile)) < 0) data/klibc-2.0.8/usr/dash/histedit.c:463:7: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). i = atoi(s); data/klibc-2.0.8/usr/dash/input.c:101: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. MKINIT char basebuf[IBUFSIZ]; /* buffer for top level input file */ data/klibc-2.0.8/usr/dash/input.c:177: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, rl_cp, nr); data/klibc-2.0.8/usr/dash/input.c:408: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(fname, O_RDONLY)) < 0) { data/klibc-2.0.8/usr/dash/jobs.c:195: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). ofd = fd = open(_PATH_TTY, O_RDWR); data/klibc-2.0.8/usr/dash/jobs.c:453:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[80]; data/klibc-2.0.8/usr/dash/jobs.c:700:9: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). num = atoi(p); data/klibc-2.0.8/usr/dash/jobs.c:878: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). if (open(_PATH_DEVNULL, O_RDONLY) != 0) data/klibc-2.0.8/usr/dash/jobs.c:1071: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 s[48 + 1]; data/klibc-2.0.8/usr/dash/jobs.c:1206:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[2]; data/klibc-2.0.8/usr/dash/jobs.c:1371:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[2] = " "; data/klibc-2.0.8/usr/dash/jobs.c:1376: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. static const char vstype[VSTYPE + 1][4] = { data/klibc-2.0.8/usr/dash/memalloc.c: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 space[MINSIZE]; data/klibc-2.0.8/usr/dash/memalloc.c:237: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. stacknxt = memcpy(p, oldspace, oldlen); data/klibc-2.0.8/usr/dash/miscbltin.c:303: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[18]; data/klibc-2.0.8/usr/dash/mkinit.c:82:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[BLOCKSIZE]; data/klibc-2.0.8/usr/dash/mkinit.c:125: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 *header_files[200]; /* list of header files */ data/klibc-2.0.8/usr/dash/mkinit.c:174:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[1024]; data/klibc-2.0.8/usr/dash/mkinit.c:195: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 line2[1024]; data/klibc-2.0.8/usr/dash/mkinit.c:199: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(line2, undef, sizeof(undef) - 1); data/klibc-2.0.8/usr/dash/mkinit.c:256:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[1024]; data/klibc-2.0.8/usr/dash/mkinit.c:317:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[1024]; data/klibc-2.0.8/usr/dash/mkinit.c:444:12: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((fp = fopen(file, mode)) == NULL) { data/klibc-2.0.8/usr/dash/mknodes.c:74: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 *nodename[MAXTYPES]; /* names of the nodes */ data/klibc-2.0.8/usr/dash/mknodes.c:80: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 line[1024]; data/klibc-2.0.8/usr/dash/mknodes.c:110:14: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((infp = fopen(argv[1], "r")) == NULL) data/klibc-2.0.8/usr/dash/mknodes.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 name[BUFLEN]; data/klibc-2.0.8/usr/dash/mknodes.c:129:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tag[BUFLEN]; data/klibc-2.0.8/usr/dash/mknodes.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 name[BUFLEN]; data/klibc-2.0.8/usr/dash/mknodes.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 type[BUFLEN]; data/klibc-2.0.8/usr/dash/mknodes.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 decl[2 * BUFLEN]; data/klibc-2.0.8/usr/dash/mknodes.c:219:17: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((patfile = fopen(file, "r")) == NULL) data/klibc-2.0.8/usr/dash/mknodes.c:221:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((hfile = fopen("nodes.h", "w")) == NULL) data/klibc-2.0.8/usr/dash/mknodes.c:223:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((cfile = fopen("nodes.c", "w")) == NULL) data/klibc-2.0.8/usr/dash/mksyntax.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 *syntax[513]; data/klibc-2.0.8/usr/dash/mksyntax.c: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 buf[80]; data/klibc-2.0.8/usr/dash/mksyntax.c:111:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((cfile = fopen("syntax.c", "w")) == NULL) { data/klibc-2.0.8/usr/dash/mksyntax.c:115:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((hfile = fopen("syntax.h", "w")) == NULL) { data/klibc-2.0.8/usr/dash/mystring.c:60: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 nullstr[1]; /* zero length string */ data/klibc-2.0.8/usr/dash/mystring.c:238: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(stalloc(len), p, len); data/klibc-2.0.8/usr/dash/options.c:66:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char *const optnames[NOPTS] = { data/klibc-2.0.8/usr/dash/options.c:86: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 optletters[NOPTS] = { data/klibc-2.0.8/usr/dash/options.c:106: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 optlist[NOPTS]; data/klibc-2.0.8/usr/dash/options.c:439:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[2]; data/klibc-2.0.8/usr/dash/options.h:67: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 optletters[NOPTS]; data/klibc-2.0.8/usr/dash/options.h:68: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 optlist[NOPTS]; data/klibc-2.0.8/usr/dash/output.c:387:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[1]; data/klibc-2.0.8/usr/dash/parser.c:1303: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(str, stackblock(), savelen); data/klibc-2.0.8/usr/dash/parser.c:1400: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(out, str, savelen); data/klibc-2.0.8/usr/dash/parser.c:1466:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char msg[64]; data/klibc-2.0.8/usr/dash/redir.c: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 memory[10]; /* file descriptors to write to memory */ data/klibc-2.0.8/usr/dash/redir.c:251:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char memory[10]; data/klibc-2.0.8/usr/dash/shell.h:74: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 nullstr[1]; /* null string */ data/klibc-2.0.8/usr/dash/show.c:354:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s[100]; data/klibc-2.0.8/usr/dash/show.c:375: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(s, "/trace"); data/klibc-2.0.8/usr/dash/show.c:384:44: [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 (!(!fclose(tracefile) && (tracefile = fopen(s, "a")))) { data/klibc-2.0.8/usr/dash/show.c:391:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((tracefile = fopen(s, "a")) == NULL) { data/klibc-2.0.8/usr/dash/system.c:67: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(dest, src, n) + n; data/klibc-2.0.8/usr/dash/system.c:93: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[19]; data/klibc-2.0.8/usr/dash/system.c:96: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. return (char *)sys_siglist[sig]; data/klibc-2.0.8/usr/dash/trap.c:73: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 *trap[NSIG]; data/klibc-2.0.8/usr/dash/trap.c:77: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 sigmode[NSIG - 1]; data/klibc-2.0.8/usr/dash/trap.c:79: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 gotsig[NSIG - 1]; data/klibc-2.0.8/usr/dash/trap.c:406:7: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). i = atoi(string); data/klibc-2.0.8/usr/dash/trap.c:452: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[64]; data/klibc-2.0.8/usr/dash/var.c:85: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 linenovar[sizeof("LINENO=")+sizeof(int)*CHAR_BIT/3+1] = "LINENO="; data/klibc-2.0.8/usr/dash/var.c:133:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static char ppid[32] = "PPID="; data/klibc-2.0.8/usr/dash/var.c:233:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[len]; data/klibc-2.0.8/usr/dash/var.c:499:15: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. lvp->text = memcpy(p, optlist, sizeof(optlist)); data/klibc-2.0.8/usr/gzip/deflate.c:532: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((char*)window, (char*)window+WSIZE, (unsigned)WSIZE); data/klibc-2.0.8/usr/gzip/gzip.c:116: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 z_suffix[MAX_SUFFIX+1]; /* default suffix (can be set with --suffix) */ data/klibc-2.0.8/usr/gzip/gzip.c:124: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 ifname[MAX_PATH_LEN]; /* input file name */ data/klibc-2.0.8/usr/gzip/gzip.c:125: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 ofname[MAX_PATH_LEN]; /* output file name */ data/klibc-2.0.8/usr/gzip/gzip.c:395: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(ifname, "stdin"); data/klibc-2.0.8/usr/gzip/gzip.c:396: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(ofname, "stdout"); data/klibc-2.0.8/usr/gzip/gzip.c:491: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(ofname, "stdout"); data/klibc-2.0.8/usr/gzip/gzip.c:501: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). ifd = open(ifname, !decompress ? O_RDONLY : O_RDONLY, data/klibc-2.0.8/usr/gzip/gzip.c:608: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). ofd = open(ofname, flags, RW_USER); data/klibc-2.0.8/usr/gzip/gzip.c:670:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[MAX_SUFFIX+3]; /* last chars of name, forced to lower case */ data/klibc-2.0.8/usr/gzip/gzip.c:780: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(suff, ".tar"); data/klibc-2.0.8/usr/gzip/gzip.c:817:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[2]; /* magic header */ data/klibc-2.0.8/usr/gzip/gzip.c:1019: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(p-4, ".tgz"); data/klibc-2.0.8/usr/gzip/gzip.c:1105:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char response[80]; data/klibc-2.0.8/usr/gzip/inflate.c:564:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(slide + w, slide + d, e); data/klibc-2.0.8/usr/include/arch/arm/klibc/archstat.h:16: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 __pad0[4]; data/klibc-2.0.8/usr/include/arch/arm/klibc/archstat.h:26: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 __pad3[4]; data/klibc-2.0.8/usr/include/arch/i386/klibc/archstat.h:13: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 __pad0[4]; data/klibc-2.0.8/usr/include/arch/i386/klibc/archstat.h:24: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 __pad3[4]; data/klibc-2.0.8/usr/include/arch/ia64/klibc/archsetjmp.h:15: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. typedef char jmp_buf[_JBLEN] __attribute__ ((aligned(16))); data/klibc-2.0.8/usr/include/arch/m68k/klibc/archstat.h:13: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 __pad1[2]; data/klibc-2.0.8/usr/include/arch/m68k/klibc/archstat.h:24: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 __pad3[2]; data/klibc-2.0.8/usr/include/arch/s390/klibc/archstat.h:26: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 __pad4[4]; data/klibc-2.0.8/usr/include/arch/sh/klibc/archstat.h:13: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 __pad0[4]; data/klibc-2.0.8/usr/include/arch/sh/klibc/archstat.h:23: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 __pad3[4]; data/klibc-2.0.8/usr/include/arch/sparc/klibc/archstat.h:21: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 __pad3[8]; data/klibc-2.0.8/usr/include/arch/sparc/klibc/archstat.h:26: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 __pad4[8]; data/klibc-2.0.8/usr/include/fcntl.h:58: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). __extern int open(const char *, int, ...); data/klibc-2.0.8/usr/include/signal.h:52:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. __extern const char *const sys_siglist[_NSIG]; data/klibc-2.0.8/usr/include/signal.h:53:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. __extern const char *const sys_sigabbrev[_NSIG]; data/klibc-2.0.8/usr/include/stdio.h:44: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). __extern FILE *fopen(const char *, const char *); data/klibc-2.0.8/usr/include/stdlib.h:26: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). __extern int atoi(const char *); data/klibc-2.0.8/usr/include/stdlib.h:27:15: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). __extern long atol(const char *); data/klibc-2.0.8/usr/include/stdlib.h:90: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). __extern int open(const char *, int, ...); data/klibc-2.0.8/usr/include/stdlib.h:93: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("/dev/ptmx", __mode); data/klibc-2.0.8/usr/include/string.h:15: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 *memcpy(void *, const void *, size_t); data/klibc-2.0.8/usr/include/sys/dirent.h:16:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[256]; data/klibc-2.0.8/usr/include/sys/elf32.h:62: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 e_ident[EI_NIDENT]; data/klibc-2.0.8/usr/include/sys/elf64.h:62: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 e_ident[EI_NIDENT]; data/klibc-2.0.8/usr/include/sys/socket.h:155:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char sa_data[14]; /* 14 bytes of protocol address */ data/klibc-2.0.8/usr/include/sys/utsname.h:13:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char sysname[SYS_NMLN]; data/klibc-2.0.8/usr/include/sys/utsname.h:14:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[SYS_NMLN]; data/klibc-2.0.8/usr/include/sys/utsname.h:15:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char release[SYS_NMLN]; data/klibc-2.0.8/usr/include/sys/utsname.h:16:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[SYS_NMLN]; data/klibc-2.0.8/usr/include/sys/utsname.h:17:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char machine[SYS_NMLN]; data/klibc-2.0.8/usr/include/sys/utsname.h:18:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char domainname[SYS_NMLN]; data/klibc-2.0.8/usr/include/unistd.h:19: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. __extern pid_t vfork(void); data/klibc-2.0.8/usr/include/unistd.h:89: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). __extern int open(const char *, int, ...); data/klibc-2.0.8/usr/kinit/capabilities.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 buf[buf_size]; data/klibc-2.0.8/usr/kinit/capabilities.c:147:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). file = fopen(filename, "r+"); data/klibc-2.0.8/usr/kinit/capabilities.c:173:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%u %u", lo32, hi32); data/klibc-2.0.8/usr/kinit/devname.c:49: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(systail, "/dev"); data/klibc-2.0.8/usr/kinit/devname.c:50:12: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). sysdev = fopen(sysdir, "r"); data/klibc-2.0.8/usr/kinit/devname.c:85: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[BUF_SIZE]; data/klibc-2.0.8/usr/kinit/devname.c: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 sysdir[BUF_SIZE]; data/klibc-2.0.8/usr/kinit/devname.c:89: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(sysdir, "/sys/block"); data/klibc-2.0.8/usr/kinit/devname.c:92: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(buf, "dev"); /* prints e.g. dev(3,5) */ data/klibc-2.0.8/usr/kinit/do_mounts.c:35: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 str[16]; data/klibc-2.0.8/usr/kinit/do_mounts.c:214:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(source, O_RDONLY); data/klibc-2.0.8/usr/kinit/do_mounts.c:378: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(p, "/root"); data/klibc-2.0.8/usr/kinit/do_mounts.c:483:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int delay = atoi(root_delay); data/klibc-2.0.8/usr/kinit/do_mounts.c:509: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). if (load_ramdisk && atoi(load_ramdisk)) { data/klibc-2.0.8/usr/kinit/do_mounts_md.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 line[512], *p; data/klibc-2.0.8/usr/kinit/do_mounts_md.c:94:6: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen("/proc/devices", "r"); data/klibc-2.0.8/usr/kinit/do_mounts_md.c:228:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[16]; data/klibc-2.0.8/usr/kinit/do_mounts_md.c:273: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(name, 0, 0); data/klibc-2.0.8/usr/kinit/do_mounts_md.c:338: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(name, 0, 0); data/klibc-2.0.8/usr/kinit/do_mounts_md.c:378:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int fd = open("/dev/md0", 0, 0); data/klibc-2.0.8/usr/kinit/fstype/ext2_fs.h: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 s_volume_name[16]; /* volume name */ data/klibc-2.0.8/usr/kinit/fstype/ext2_fs.h: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 s_last_mounted[64]; /* directory where last mounted */ data/klibc-2.0.8/usr/kinit/fstype/ext3_fs.h:91: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. /*78*/ char s_volume_name[16]; data/klibc-2.0.8/usr/kinit/fstype/ext3_fs.h:93: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. /*88*/ char s_last_mounted[64]; data/klibc-2.0.8/usr/kinit/fstype/fstype.c:364: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[12]; data/klibc-2.0.8/usr/kinit/fstype/gfs2_fs.h: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 sb_lockproto[GFS2_LOCKNAME_LEN]; data/klibc-2.0.8/usr/kinit/fstype/gfs2_fs.h: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 sb_locktable[GFS2_LOCKNAME_LEN]; data/klibc-2.0.8/usr/kinit/fstype/iso9660_sb.h:12:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ISO_MAGIC_L]; data/klibc-2.0.8/usr/kinit/fstype/iso9660_sb.h:18:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char foo[8]; data/klibc-2.0.8/usr/kinit/fstype/iso9660_sb.h:20:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char id[ISO_HS_MAGIC_L]; data/klibc-2.0.8/usr/kinit/fstype/jfs_superblock.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 s_magic[4]; /* 4: magic number */ data/klibc-2.0.8/usr/kinit/fstype/jfs_superblock.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 s_fpack[11]; /* 11: file system volume name data/klibc-2.0.8/usr/kinit/fstype/jfs_superblock.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 s_uuid[16]; /* 16: 128-bit uuid for volume */ data/klibc-2.0.8/usr/kinit/fstype/jfs_superblock.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 s_label[16]; /* 16: volume label */ data/klibc-2.0.8/usr/kinit/fstype/jfs_superblock.h:110:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s_loguuid[16]; /* 16: 128-bit uuid for log device */ data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h:22:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[LUKS_MAGIC_L]; data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h:24:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char cipherName[LUKS_CIPHERNAME_L]; data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h:25:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char cipherMode[LUKS_CIPHERMODE_L]; data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hashSpec[LUKS_HASHSPEC_L]; data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h: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 mkDigest[LUKS_DIGESTSIZE]; data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h: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 mkDigestSalt[LUKS_SALTSIZE]; data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char uuid[LUKS_UUID_STRING_L]; data/klibc-2.0.8/usr/kinit/fstype/luks_fs.h:38: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 passwordSalt[LUKS_SALTSIZE]; data/klibc-2.0.8/usr/kinit/fstype/lvm2_sb.h:11:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[LVM2_MAGIC_L]; data/klibc-2.0.8/usr/kinit/fstype/lvm2_sb.h:15:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[LVM2_TYPE_L]; data/klibc-2.0.8/usr/kinit/fstype/main.c:40: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 = argv[1], O_RDONLY); data/klibc-2.0.8/usr/kinit/fstype/minix_fs.h:82:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[0]; data/klibc-2.0.8/usr/kinit/fstype/nilfs_fs.h: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 s_volume_name[16]; /* volume name */ data/klibc-2.0.8/usr/kinit/fstype/nilfs_fs.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 s_last_mounted[64]; /* directory where last mounted */ data/klibc-2.0.8/usr/kinit/fstype/reiser4_fs.h:14:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ms_magic[SS_MAGIC_SIZE]; data/klibc-2.0.8/usr/kinit/fstype/reiser4_fs.h:23:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ms_uuid[SS_MAGIC_SIZE]; data/klibc-2.0.8/usr/kinit/fstype/reiser4_fs.h:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ms_label[SS_MAGIC_SIZE]; data/klibc-2.0.8/usr/kinit/fstype/reiserfs_fs.h:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s_magic[10]; /* reiserfs magic string indicates that data/klibc-2.0.8/usr/kinit/fstype/reiserfs_fs.h:54: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 s_uuid[16]; /* filesystem unique identifier */ data/klibc-2.0.8/usr/kinit/fstype/reiserfs_fs.h:55: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 s_label[16]; /* filesystem volume label */ data/klibc-2.0.8/usr/kinit/fstype/reiserfs_fs.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 s_unused[88]; /* zero filled by mkreiserfs and data/klibc-2.0.8/usr/kinit/fstype/romfs_fs.h:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[0]; /* volume name */ data/klibc-2.0.8/usr/kinit/fstype/romfs_fs.h: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 name[0]; data/klibc-2.0.8/usr/kinit/fstype/swap_fs.h:21:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char reserved[SWAP_RESERVED_L]; data/klibc-2.0.8/usr/kinit/fstype/swap_fs.h:22:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[SWAP_MAGIC_L]; data/klibc-2.0.8/usr/kinit/getintfile.c:13:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[64]; data/klibc-2.0.8/usr/kinit/getintfile.c:17:6: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(path, "r"); data/klibc-2.0.8/usr/kinit/initrd.c:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[BUF_SIZE]; data/klibc-2.0.8/usr/kinit/initrd.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). int ffd = open(path, O_RDONLY); data/klibc-2.0.8/usr/kinit/initrd.c:57: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 gzip_magic[2]; data/klibc-2.0.8/usr/kinit/initrd.c:64:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *wfd = fopen("/dev/ram0", "w"); data/klibc-2.0.8/usr/kinit/initrd.c:70: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 dfd = open("/dev/ram0", O_WRONLY); data/klibc-2.0.8/usr/kinit/initrd.c:101:7: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen("/proc/sys/kernel/real-root-dev", "w"); data/klibc-2.0.8/usr/kinit/initrd.c:106: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). root_fd = open("/", O_RDONLY|O_DIRECTORY|O_CLOEXEC, 0); data/klibc-2.0.8/usr/kinit/initrd.c:107: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). old_fd = open("/old", O_RDONLY|O_DIRECTORY|O_CLOEXEC, 0); data/klibc-2.0.8/usr/kinit/initrd.c:116: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/klibc-2.0.8/usr/kinit/initrd.c:153:17: [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 olddev = open(ramdisk_name, O_RDWR); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_packet.h:26:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char server_name[64]; data/klibc-2.0.8/usr/kinit/ipconfig/bootp_packet.h:27:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char boot_file[128]; data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:50: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(bootp.chaddr, dev->hwaddr, 16); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:218: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(&decoded_str[dst_i], &u8ext[i + 1], data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:239: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(&decoded_str[dst_i], data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:327: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(&route->subnet, &ext[index], significant_octets); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:335: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(&route->gateway, &ext[index], 4); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:373: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(&dev->filename, &hdr->boot_file, FNLEN); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:397: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(&dev->ip_netmask, ext, 4); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:401: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(&dev->ip_gateway, ext, 4); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:405:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&dev->ip_nameserver, ext, data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:411: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(&dev->hostname, ext, len); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:417: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(&dev->dnsdomainname, ext, len); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:423:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&dev->bootpath, ext, len); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:432: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(&dev->ip_broadcast, ext, 4); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:437: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(&dev->nisdomainname, ext, len); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:442: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(&dev->ip_server, ext, 4); data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:447: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(ext119_buf + ext119_len, data/klibc-2.0.8/usr/kinit/ipconfig/bootp_proto.c:457: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(ext121_buf + ext121_len, data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c:124: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(&serverid, ext, 4); data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c:192:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dhcp_hostname[SYS_NMLN+2]; data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c:214: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(bootp.chaddr, dev->hwaddr, 16); data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c:235: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(dhcp_hostname+2, dev->reqhostname, len); data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c:287:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&dhcp_request_hdr[SERVER_IP_OFF], &dev->serverid, 4); data/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c:288: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(&dhcp_request_hdr[REQ_IP_OFF], &dev->ip_addr, 4); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:36: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 vendor_class_identifier[260]; data/klibc-2.0.8/usr/kinit/ipconfig/main.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 fn[40]; data/klibc-2.0.8/usr/kinit/ipconfig/main.c:170:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf21[21]; data/klibc-2.0.8/usr/kinit/ipconfig/main.c:174:6: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(fn, "w"); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:186: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 key[23]; data/klibc-2.0.8/usr/kinit/ipconfig/main.c:187: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 value[19]; data/klibc-2.0.8/usr/kinit/ipconfig/main.c:213:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf21, "%ld", (long)dev->uptime); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:215:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf21, "%u", (unsigned int)dev->dhcpleasetime); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:634: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(dev->reqhostname, dev->hostname, data/klibc-2.0.8/usr/kinit/ipconfig/main.c:744:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char t[PATH_MAX], p[255]; data/klibc-2.0.8/usr/kinit/ipconfig/main.c:762: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(t, O_RDONLY); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:823: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(vendor_class_identifier+2, id, len); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:862:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). port = atoi(optarg); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:873:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). loop_timeout = atoi(optarg); data/klibc-2.0.8/usr/kinit/ipconfig/netdev.c:50: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(&ifr->ifr_addr, &sin, sizeof sin); data/klibc-2.0.8/usr/kinit/ipconfig/netdev.c:88: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(saddr, &sin, sizeof sin); data/klibc-2.0.8/usr/kinit/ipconfig/netdev.c:248: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(dev->hwaddr, ifr.ifr_hwaddr.sa_data, dev->hwlen); data/klibc-2.0.8/usr/kinit/ipconfig/netdev.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 reqhostname[SYS_NMLN]; /* requested hostname */ data/klibc-2.0.8/usr/kinit/ipconfig/netdev.h:49:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hostname[SYS_NMLN]; /* hostname */ data/klibc-2.0.8/usr/kinit/ipconfig/netdev.h: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 dnsdomainname[SYS_NMLN]; /* dns domain name */ data/klibc-2.0.8/usr/kinit/ipconfig/netdev.h: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 nisdomainname[SYS_NMLN]; /* nis domain name */ data/klibc-2.0.8/usr/kinit/ipconfig/netdev.h: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 bootpath[BPLEN]; /* boot path */ data/klibc-2.0.8/usr/kinit/ipconfig/netdev.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 filename[FNLEN]; /* filename */ data/klibc-2.0.8/usr/kinit/ipconfig/packet.c:162: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(sll.sll_addr, dev->hwbrd, dev->hwlen); data/klibc-2.0.8/usr/kinit/kinit.c:199:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *cmdlines[3]; data/klibc-2.0.8/usr/kinit/kinit.c:213: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(init_argv, argv, (argc+1)*sizeof(char *)); data/klibc-2.0.8/usr/kinit/kinit.c:215: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/console", O_RDWR)) != -1) { data/klibc-2.0.8/usr/kinit/name_to_dev.c:19:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[BUF_SZ]; data/klibc-2.0.8/usr/kinit/name_to_dev.c:20:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[BUF_SZ]; data/klibc-2.0.8/usr/kinit/name_to_dev.c:30:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(path, 0, 0); data/klibc-2.0.8/usr/kinit/name_to_dev.c:53:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(path, 0, 0); data/klibc-2.0.8/usr/kinit/name_to_dev.c:155: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, name, len + 1); data/klibc-2.0.8/usr/kinit/nfsmount/dummypmap.c:156: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 payload[MAX_UDP_PACKET + offsetof(struct rpc_header, udp)]; data/klibc-2.0.8/usr/kinit/nfsmount/dummypmap.c:247: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). portmap_filep = fopen(file, "w"); data/klibc-2.0.8/usr/kinit/nfsmount/mount.c:20:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[0]; data/klibc-2.0.8/usr/kinit/nfsmount/mount.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 data[NFS_MAXFHSIZE_WIRE]; data/klibc-2.0.8/usr/kinit/nfsmount/mount.c:170: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(mnt_call->path, path, path_len); data/klibc-2.0.8/usr/kinit/nfsmount/mount.c:216: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(data->root.data, &mnt_reply.fh, NFS_FHSIZE); data/klibc-2.0.8/usr/kinit/nfsmount/mount.c:217: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(data->old_root.data, &mnt_reply.fh, NFS_FHSIZE); data/klibc-2.0.8/usr/kinit/nfsmount/mount.c:241:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&data->root.data, mnt_reply.fh.data, fhsize); data/klibc-2.0.8/usr/kinit/nfsroot.c:16:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[len]; data/klibc-2.0.8/usr/kinit/nfsroot.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 root[len]; data/klibc-2.0.8/usr/kinit/nfsroot.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 *nfs_argv[NFS_ARGC + 1] = { "NFS-Mount" }; data/klibc-2.0.8/usr/kinit/ramdisk_load.c:46: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(devpath, O_RDONLY); data/klibc-2.0.8/usr/kinit/ramdisk_load.c:59: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 in_buf[BUF_SZ], out_buf[BUF_SZ]; data/klibc-2.0.8/usr/kinit/ramdisk_load.c:72: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). rfd = open(devpath, O_RDONLY); data/klibc-2.0.8/usr/kinit/ramdisk_load.c:153: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[BUF_SZ]; data/klibc-2.0.8/usr/kinit/ramdisk_load.c:156: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). rfd = open(devpath, O_RDONLY); data/klibc-2.0.8/usr/kinit/ramdisk_load.c:208:44: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int prompt_ramdisk = arg_prompt_ramdisk ? atoi(arg_prompt_ramdisk) : 0; data/klibc-2.0.8/usr/kinit/ramdisk_load.c:210:30: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). arg_ramdisk_blocksize ? atoi(arg_ramdisk_blocksize) : 512; data/klibc-2.0.8/usr/kinit/ramdisk_load.c:241: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). rfd = open("/dev/rddev", O_RDONLY); data/klibc-2.0.8/usr/kinit/ramdisk_load.c:242: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). wfd = fopen("/dev/ram0", "w"); data/klibc-2.0.8/usr/kinit/readfile.c:75:12: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(filename, "r"); data/klibc-2.0.8/usr/kinit/resume/resumelib.c: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 attr_value[64]; data/klibc-2.0.8/usr/kinit/resume/resumelib.c:58:17: [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 ((attr_fd = open("/sys/power/resume_offset", O_WRONLY)) < 0) data/klibc-2.0.8/usr/kinit/resume/resumelib.c:74:17: [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 ((attr_fd = open("/sys/power/resume", O_WRONLY)) < 0) data/klibc-2.0.8/usr/kinit/run-init/runinitlib.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[bytes]; data/klibc-2.0.8/usr/kinit/run-init/runinitlib.c:210: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 ((confd = open(console, O_RDWR)) < 0) data/klibc-2.0.8/usr/klibc/__put_env.c:66: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(newenv, environ, n * sizeof(char *)); data/klibc-2.0.8/usr/klibc/atoi.c:2: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). #define NAME atoi data/klibc-2.0.8/usr/klibc/atol.c:2:14: [2] (integer) atol: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). #define NAME atol data/klibc-2.0.8/usr/klibc/creat.c:11: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(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode); data/klibc-2.0.8/usr/klibc/ctypes.c:10: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 __ctypes[257] = { data/klibc-2.0.8/usr/klibc/daemon.c:20:17: [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 ((nullfd = open("/dev/null", O_RDWR)) < 0 || data/klibc-2.0.8/usr/klibc/execvpe.c:27:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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/klibc-2.0.8/usr/klibc/execvpe.c:54: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, searchpath, prefixlen); data/klibc-2.0.8/usr/klibc/execvpe.c:55: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 + prefixlen, file, filelen); data/klibc-2.0.8/usr/klibc/execvpe.c:60: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, searchpath, prefixlen); data/klibc-2.0.8/usr/klibc/execvpe.c:62: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 + prefixlen + 1, file, filelen); data/klibc-2.0.8/usr/klibc/getmntent.c:43:33: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). mntbuf->mnt_freq = !line ? 0 : atoi(line); data/klibc-2.0.8/usr/klibc/getmntent.c:46:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). mntbuf->mnt_passno = !line ? 0 : atoi(line); data/klibc-2.0.8/usr/klibc/getopt.c:72: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. optarg = (char *)argv[optind+1]; data/klibc-2.0.8/usr/klibc/getopt_long.c:127: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. optarg = (char *)argv[optind+1]; data/klibc-2.0.8/usr/klibc/inet/inet_ntoa.c:11: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 name[16]; data/klibc-2.0.8/usr/klibc/inet/inet_ntoa.c:14: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(name, "%u.%u.%u.%u", cp[0], cp[1], cp[2], cp[3]); data/klibc-2.0.8/usr/klibc/memcpy.c:8:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. void *memcpy(void *dst, const void *src, size_t n) data/klibc-2.0.8/usr/klibc/open.c:22: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). int open(const char *pathname, int flags, mode_t mode) data/klibc-2.0.8/usr/klibc/open.c:31: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). int open(const char *pathname, int flags, mode_t mode) data/klibc-2.0.8/usr/klibc/open.c:42: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). int open(const char *pathname, int flags, mode_t mode) data/klibc-2.0.8/usr/klibc/pty.c:15: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 buffer[32]; /* Big enough to hold even a 64-bit pts no */ data/klibc-2.0.8/usr/klibc/readdir.c:29:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(name, O_DIRECTORY | O_RDONLY); data/klibc-2.0.8/usr/klibc/realloc.c:43:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(newptr, ptr, (size < oldsize) ? size : oldsize); data/klibc-2.0.8/usr/klibc/realpath.c:18:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char proc_fd_name[sizeof(proc_fd_prefix) + sizeof(int) * 3]; data/klibc-2.0.8/usr/klibc/realpath.c:24:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(name, O_PATH); data/klibc-2.0.8/usr/klibc/scandir.c:34: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(copy, dirent, sizeof(*copy)); data/klibc-2.0.8/usr/klibc/seed48.c:14: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(oldseed, __rand48_seed, sizeof __rand48_seed); data/klibc-2.0.8/usr/klibc/seed48.c:15: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(__rand48_seed, xsubi, sizeof __rand48_seed); data/klibc-2.0.8/usr/klibc/setenv.c:37: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, name, l1); data/klibc-2.0.8/usr/klibc/setenv.c:39: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 + l1 + 1, val, l2 + 1); data/klibc-2.0.8/usr/klibc/setmntent.c:6:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). return fopen(filename, type); data/klibc-2.0.8/usr/klibc/sha1hash.c:90:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buffer[64]; data/klibc-2.0.8/usr/klibc/sha1hash.c:93:48: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void SHA1Transform(uint32_t state[5], unsigned char buffer[64]); data/klibc-2.0.8/usr/klibc/sha1hash.c:97:25: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void SHA1Final(unsigned char digest[20], SHA1_CTX* context); data/klibc-2.0.8/usr/klibc/sha1hash.c:130:48: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void SHA1Transform(uint32_t state[5], unsigned char buffer[64]) data/klibc-2.0.8/usr/klibc/sha1hash.c:134: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 c[64]; data/klibc-2.0.8/usr/klibc/sha1hash.c:139: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 workspace[64]; data/klibc-2.0.8/usr/klibc/sha1hash.c:141: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(block, buffer, 64); data/klibc-2.0.8/usr/klibc/sha1hash.c:211: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(&context->buffer[j], data, (i = 64-j)); data/klibc-2.0.8/usr/klibc/sha1hash.c:219: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(&context->buffer[j], &data[i], len - i); data/klibc-2.0.8/usr/klibc/sha1hash.c:228:25: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void SHA1Final(unsigned char digest[20], SHA1_CTX* context) data/klibc-2.0.8/usr/klibc/sha1hash.c:231:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char finalcount[8]; data/klibc-2.0.8/usr/klibc/sha1hash.c:263: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 *mybase64(uint8_t digest[20]) data/klibc-2.0.8/usr/klibc/sha1hash.c:268: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 output[28]; data/klibc-2.0.8/usr/klibc/sha1hash.c:274: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(input, digest, 20); data/klibc-2.0.8/usr/klibc/sha1hash.c:301: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). if (!(file = fopen(argv[1], "rb"))) { data/klibc-2.0.8/usr/klibc/shm_open.c:19: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(pathbuf, "/dev/shm/", 9); data/klibc-2.0.8/usr/klibc/shm_open.c:20: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(pathbuf+9, path, len+1); data/klibc-2.0.8/usr/klibc/shm_open.c:22: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(path, oflag, mode|O_CLOEXEC); data/klibc-2.0.8/usr/klibc/shm_unlink.c:19: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(pathbuf, "/dev/shm/", 9); data/klibc-2.0.8/usr/klibc/shm_unlink.c:20: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(pathbuf+9, path, len+1); data/klibc-2.0.8/usr/klibc/sigabbrev.c:10: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 *const sys_sigabbrev[NSIG] = { data/klibc-2.0.8/usr/klibc/siglist.c:10: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 *const sys_siglist[NSIG] = { data/klibc-2.0.8/usr/klibc/stdio/fopen.c:42:7: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *fopen(const char *file, const char *mode) data/klibc-2.0.8/usr/klibc/stdio/fopen.c:48:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(file, flags, 0666); data/klibc-2.0.8/usr/klibc/stdio/fread.c:70: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, f->data, nb); data/klibc-2.0.8/usr/klibc/stdio/fwrite.c:46:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(f->buf+f->obytes, p, nb); data/klibc-2.0.8/usr/klibc/strdup.c:14: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(d, s, l); data/klibc-2.0.8/usr/klibc/strerror.c:9: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 message[32] = "error "; /* enough for error 2^63-1 */ data/klibc-2.0.8/usr/klibc/strerror.c:10:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char numbuf[32]; data/klibc-2.0.8/usr/klibc/strerror.c:19: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. return (char *)sys_errlist[e]; data/klibc-2.0.8/usr/klibc/strerror.c:30: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(message + 6, p, (numbuf + sizeof numbuf) - p); data/klibc-2.0.8/usr/klibc/strndup.c:15: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(d, s, l); data/klibc-2.0.8/usr/klibc/strsignal.c:11: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[64]; data/klibc-2.0.8/usr/klibc/strsignal.c:14: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. return (char *)sys_siglist[sig]; data/klibc-2.0.8/usr/klibc/strxspn.c:13:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char matchmap[UCHAR_MAX + 1]; data/klibc-2.0.8/usr/klibc/syslog.c:24: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 id[MAXID + 1]; data/klibc-2.0.8/usr/klibc/syslog.c:35: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). __syslog_fd = fd = open(LOGDEV, O_WRONLY); data/klibc-2.0.8/usr/klibc/syslog.c: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 buf[BUFLEN]; data/klibc-2.0.8/usr/klibc/tests/fcntl.c:13: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). int fd = open(argv[0], O_RDONLY); data/klibc-2.0.8/usr/klibc/tests/fnmatch.c:7: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). int flags = atoi(argv[3]); data/klibc-2.0.8/usr/klibc/tests/getoptlong.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 num_buf[16]; data/klibc-2.0.8/usr/klibc/tests/lseek.c:8:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int fd = open("test.out", O_RDWR|O_CREAT|O_TRUNC, 0666); data/klibc-2.0.8/usr/klibc/tests/malloctest.c:4106: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 *pointers[NCYCLES]; data/klibc-2.0.8/usr/klibc/tests/memstrtest.c:7: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 t1[256], t2[256]; data/klibc-2.0.8/usr/klibc/tests/mmaptest.c:44:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(test_file, O_RDWR | O_CREAT | O_TRUNC, 0666); data/klibc-2.0.8/usr/klibc/tests/opentest.c:5:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[1024]; data/klibc-2.0.8/usr/klibc/tests/opentest.c:8:6: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen("/etc/passwd", "r"); data/klibc-2.0.8/usr/klibc/tests/pipetest.c:12:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[512]; data/klibc-2.0.8/usr/klibc/tests/select.c:21: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). fdz = open("/dev/zero", O_RDONLY); data/klibc-2.0.8/usr/klibc/tests/stdio.c:35:6: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen("test.out", "w+b"); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:8:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[8]; data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:65: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(temp, "ABC"); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:77: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(temp, "ABC"); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:83: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(temp, "ABC"); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:89: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(temp, "ABC"); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:95: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(temp, "ABC"); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:101: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(temp, "ABC"); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:10:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[512]; data/klibc-2.0.8/usr/klibc/tests/vfork.c:18:6: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. f = vfork(); data/klibc-2.0.8/usr/klibc/utimes.c:8: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. int utimes(const char *file, const struct timeval tvp[2]) data/klibc-2.0.8/usr/klibc/vfork.c:12: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. int vfork(void) data/klibc-2.0.8/usr/klibc/vfprintf.c:15:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[BUFFER_SIZE]; data/klibc-2.0.8/usr/klibc/zlib/crc32.c:161:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). out = fopen("crc32.h", "w"); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:103:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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/klibc-2.0.8/usr/klibc/zlib/gzio.c:223:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[46]; /* allow for up to 128-bit integers */ data/klibc-2.0.8/usr/klibc/zlib/gzio.c:226: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>", fd); /* for debugging */ data/klibc-2.0.8/usr/klibc/zlib/gzio.c:607:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[Z_PRINTF_BUFSIZE]; data/klibc-2.0.8/usr/klibc/zlib/gzio.c:646:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[Z_PRINTF_BUFSIZE]; data/klibc-2.0.8/usr/klibc/zlib/gzio.c:1011: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(s->msg, ": "); data/klibc-2.0.8/usr/klibc/zlib/inflate.c:572: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/klibc-2.0.8/usr/klibc/zlib/inflate.c:1267: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/klibc-2.0.8/usr/klibc/zlib/trees.c:332:20: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *header = fopen("trees.h", "w"); data/klibc-2.0.8/usr/klibc/zlib/zutil.c:14: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 * const z_errmsg[10] = { data/klibc-2.0.8/usr/klibc/zlib/zutil.h:53: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 * const z_errmsg[10]; /* indexed by 2-zlib_error */ data/klibc-2.0.8/usr/klibc/zlib/zutil.h:111: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:173: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/klibc-2.0.8/usr/klibc/zlib/zutil.h:230: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/klibc-2.0.8/usr/utils/cat.c:149:19: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). else if ((fp = fopen(*argv, data/klibc-2.0.8/usr/utils/cat.c:248:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(*argv, O_RDONLY | O_NONBLOCK, 0); data/klibc-2.0.8/usr/utils/cat.c:261:21: [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(*argv, O_RDONLY, 0)) < 0) { data/klibc-2.0.8/usr/utils/cat.c:280: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 fb_buf[BUFSIZ]; data/klibc-2.0.8/usr/utils/cpio.c:125: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(xmalloc(s), string, s); data/klibc-2.0.8/usr/utils/cpio.c:573: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). out_file_des = open(d->header.c_name, O_CREAT | O_WRONLY, 0600); data/klibc-2.0.8/usr/utils/cpio.c:643:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). out_file_des = open(file_hdr->c_name, O_CREAT | O_WRONLY, 0600); data/klibc-2.0.8/usr/utils/cpio.c:896:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ascii_header[13*8], *ah, hexbuf[9]; data/klibc-2.0.8/usr/utils/cpio.c:903: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(hexbuf, ah, 8); data/klibc-2.0.8/usr/utils/dd.c:23: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 str[8]; data/klibc-2.0.8/usr/utils/dd.c:391:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(out_buf + out_size, in_ptr, space); data/klibc-2.0.8/usr/utils/dd.c:404:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(out_buf, in_ptr, in_size); data/klibc-2.0.8/usr/utils/dd.c:473: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). rd_fd = open(OPT_IF->str, O_RDONLY); data/klibc-2.0.8/usr/utils/dd.c:486: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). wr_fd = open(OPT_OF->str, flags, 0666); data/klibc-2.0.8/usr/utils/ln.c:54: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 target[PATH_MAX]; data/klibc-2.0.8/usr/utils/losetup.c:41: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(device, O_RDONLY)) < 0) { data/klibc-2.0.8/usr/utils/losetup.c: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 dev[20]; data/klibc-2.0.8/usr/utils/losetup.c:101:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open("/dev/loop-control", O_RDWR); data/klibc-2.0.8/usr/utils/losetup.c:116: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(dev, "/dev/loop%d", rc); data/klibc-2.0.8/usr/utils/losetup.c:172: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 ((ffd = open(file, mode)) < 0) { data/klibc-2.0.8/usr/utils/losetup.c:174: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). ffd = open(file, mode = O_RDONLY); data/klibc-2.0.8/usr/utils/losetup.c:180: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(device, mode)) < 0) { data/klibc-2.0.8/usr/utils/losetup.c:192:33: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). loopinfo64.lo_encrypt_type = atoi(encryption); data/klibc-2.0.8/usr/utils/losetup.c:247: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 (device, O_RDONLY)) < 0) { data/klibc-2.0.8/usr/utils/minips.c:35: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 P_cmd[16]; data/klibc-2.0.8/usr/utils/minips.c:300:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-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[800]; /* about 40 fields, 64-bit decimal is about 20 chars */ data/klibc-2.0.8/usr/utils/minips.c:307:7: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open(buf, O_RDONLY, 0); data/klibc-2.0.8/usr/utils/minips.c:347: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/klibc-2.0.8/usr/utils/minips.c:364:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tty[16]; data/klibc-2.0.8/usr/utils/minips.c:493:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (!stat2proc(atoi(ent->d_name))) data/klibc-2.0.8/usr/utils/mount_opts.h:5: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 str[8]; data/klibc-2.0.8/usr/utils/mv.c:51:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char target[PATH_MAX]; data/klibc-2.0.8/usr/utils/nuke.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 path[bytes]; data/klibc-2.0.8/usr/utils/readlink.c:18:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char link_name[PATH_MAX]; data/klibc-2.0.8/usr/utils/uname.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 *uname_fields[UN_NR_FIELDS] = { NULL }; data/klibc-2.0.8/scripts/basic/fixdep.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). int slen = strlen(s); data/klibc-2.0.8/scripts/basic/fixdep.c:252:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int sublen = strlen(sub); data/klibc-2.0.8/usr/dash/alias.c:221:7: [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. if (equal(name, (*app)->name)) { data/klibc-2.0.8/usr/dash/bltin/printf.c:445:6: [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. if (equal(*argv, "-n")) { data/klibc-2.0.8/usr/dash/bltin/test.c:298: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(*t_wp) == 0; data/klibc-2.0.8/usr/dash/bltin/test.c:300: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(*t_wp) != 0; data/klibc-2.0.8/usr/dash/bltin/test.c:320: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(*t_wp) > 0; data/klibc-2.0.8/usr/dash/cd.c:204: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). new = makestrspace(strlen(dir) + 2, new); data/klibc-2.0.8/usr/dash/exec.c:197: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). len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ data/klibc-2.0.8/usr/dash/exec.c:403: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). stalloc(strlen(fullname) + 1); data/klibc-2.0.8/usr/dash/exec.c:616:7: [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. if (equal(cmdp->cmdname, name)) data/klibc-2.0.8/usr/dash/exec.c:622: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). + strlen(name) + 1); data/klibc-2.0.8/usr/dash/expand.c:535:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). goto read; data/klibc-2.0.8/usr/dash/expand.c:538:1: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read: data/klibc-2.0.8/usr/dash/expand.c:542:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). i = read(in.fd, buf, sizeof buf); data/klibc-2.0.8/usr/dash/expand.c:882: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_t len = strlen(p); data/klibc-2.0.8/usr/dash/expand.c:1222: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 i = strlen(str->text); data/klibc-2.0.8/usr/dash/expand.c:1615: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). size_t fulllen = len + strlen(p) + 1; data/klibc-2.0.8/usr/dash/hetio.c:192:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((ret = read(fd, &c, 1)) < 1) data/klibc-2.0.8/usr/dash/hetio.c:235:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((ret = read(fd, &c, 1)) < 1) data/klibc-2.0.8/usr/dash/hetio.c:239:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((ret = read(fd, &c, 1)) < 1) data/klibc-2.0.8/usr/dash/hetio.c:257:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(parsenextc); data/klibc-2.0.8/usr/dash/hetio.c:269:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen (hp->s); data/klibc-2.0.8/usr/dash/hetio.c:302:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((ret = read(fd, &c, 1)) < 1) data/klibc-2.0.8/usr/dash/hetio.c:307:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((ret = read(fd, &c, 1)) < 1) data/klibc-2.0.8/usr/dash/histedit.c:375: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). evalstring(strcpy(stalloc(strlen(s) + 1), s), data/klibc-2.0.8/usr/dash/histedit.c:398: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). editcmd = stalloc(strlen(editor) + strlen(editfile) + 2); data/klibc-2.0.8/usr/dash/histedit.c:398: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). editcmd = stalloc(strlen(editor) + strlen(editfile) + 2); data/klibc-2.0.8/usr/dash/histedit.c:418: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 plen = strlen(p); data/klibc-2.0.8/usr/dash/input.c:192:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). nr = read(parsefile->fd, buf, IBUFSIZ - 1); data/klibc-2.0.8/usr/dash/input.c:349: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(s); data/klibc-2.0.8/usr/dash/input.c:453: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). parsenleft = strlen(string); data/klibc-2.0.8/usr/dash/jobs.c:478: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). col += strlen("Running"); data/klibc-2.0.8/usr/dash/jobs.c:1381: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). nextc = makestrspace((strlen(s) + 1) * 8, cmdnextc); data/klibc-2.0.8/usr/dash/main.c:123:23: [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. && (! attyset() || equal(termval(), "emacs")) data/klibc-2.0.8/usr/dash/memalloc.c:301: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). return stnputs(s, strlen(s), p); data/klibc-2.0.8/usr/dash/miscbltin.c:228:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). switch (read(0, &c, 1)) { data/klibc-2.0.8/usr/dash/miscbltin.c:297:9: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mask = umask(0); data/klibc-2.0.8/usr/dash/miscbltin.c:298:2: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(mask); data/klibc-2.0.8/usr/dash/miscbltin.c:393:3: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). umask(new_mask); data/klibc-2.0.8/usr/dash/mkinit.c:147:9: [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. #define equal(s1, s2) (strcmp(s1, s2) == 0) data/klibc-2.0.8/usr/dash/mkinit.c:267:7: [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. if (equal(line, "}\n")) data/klibc-2.0.8/usr/dash/mkinit.c:308:36: [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. for (pp = header_files ; *pp && ! equal(*pp, name) ; pp++); data/klibc-2.0.8/usr/dash/mkinit.c:466:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p = ckmalloc(strlen(s) + 1); data/klibc-2.0.8/usr/dash/mknodes.c:444: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 ((p = malloc(strlen(s) + 1)) == NULL) data/klibc-2.0.8/usr/dash/mksyntax.c:134: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 (pos = strlen(buf) ; pos < 32 ; pos = (pos + 8) & ~07) data/klibc-2.0.8/usr/dash/mksyntax.c:143: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 (pos = strlen(buf) ; pos < 32 ; pos = (pos + 8) & ~07) data/klibc-2.0.8/usr/dash/mksyntax.c:286: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). col += strlen(syntax[i]); data/klibc-2.0.8/usr/dash/mystring.c:237: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_t len = strlen(p) + 1; data/klibc-2.0.8/usr/dash/mystring.h:62:9: [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. #define equal(s1, s2) (strcmp(s1, s2) == 0) data/klibc-2.0.8/usr/dash/options.c:266:8: [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. if (equal(name, optnames[i])) { data/klibc-2.0.8/usr/dash/options.c:447: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). if (ind <= 1 || off < 0 || strlen(optnext[-1]) < off) data/klibc-2.0.8/usr/dash/output.c:203: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(p); data/klibc-2.0.8/usr/dash/parser.c:881:22: [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. && attyset() && ! equal(termval(), "emacs")) { data/klibc-2.0.8/usr/dash/redir.c:311: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(p); data/klibc-2.0.8/usr/dash/system.c:74: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_t len = strlen(src); data/klibc-2.0.8/usr/dash/system.c:85: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). p = (char *)s + strlen(s); data/klibc-2.0.8/usr/dash/var.c:210: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). vallen = strlen(val); data/klibc-2.0.8/usr/gzip/gzip.c:276:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(z_suffix, Z_SUFFIX, sizeof(z_suffix)-1); data/klibc-2.0.8/usr/gzip/gzip.c:277: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). z_len = strlen(z_suffix); data/klibc-2.0.8/usr/gzip/gzip.c:303: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). z_len = strlen(optarg); data/klibc-2.0.8/usr/gzip/gzip.c:539: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). fprintf(stderr, "%s:\t%s", ifname, (int)strlen(ifname) >= 15 ? data/klibc-2.0.8/usr/gzip/gzip.c:540: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)strlen(ifname) >= 7 ? "\t" : "\t\t")); data/klibc-2.0.8/usr/gzip/gzip.c:678: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). nlen = strlen(name); data/klibc-2.0.8/usr/gzip/gzip.c:685: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). slen = strlen(suffix); data/klibc-2.0.8/usr/gzip/gzip.c:687:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int s = strlen(*suf); data/klibc-2.0.8/usr/gzip/gzip.c:733: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). ilen = strlen(ifname); data/klibc-2.0.8/usr/gzip/gzip.c:975: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 s = strlen(name); data/klibc-2.0.8/usr/gzip/gzip.c:1006: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/klibc-2.0.8/usr/gzip/gzip.c:1106:2: [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(response,"n"); data/klibc-2.0.8/usr/gzip/util.c:36:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). insize = read(in, (char*)inbuf, INBUFSIZ); data/klibc-2.0.8/usr/gzip/util.c:92:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = read(ifd, (char*)inbuf+insize, INBUFSIZ-insize); data/klibc-2.0.8/usr/gzip/util.c:202: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). p = (char*)xmalloc(strlen(env)+1); data/klibc-2.0.8/usr/gzip/zip.c:104:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = read(ifd, buf, size); data/klibc-2.0.8/usr/include/stdio.h:60:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). __extern int fgetc(FILE *); data/klibc-2.0.8/usr/include/stdio.h:64:9: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define getc(f) fgetc(f) data/klibc-2.0.8/usr/include/stdio.h:64:17: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define getc(f) fgetc(f) data/klibc-2.0.8/usr/include/stdio.h:66:26: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define getc_unlocked(f) fgetc(f) data/klibc-2.0.8/usr/include/stdio.h:67:9: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define getchar() fgetc(stdin) data/klibc-2.0.8/usr/include/stdio.h:67:19: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define getchar() fgetc(stdin) data/klibc-2.0.8/usr/include/stdio.h:68:28: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define getchar_unlocked() getchar() data/klibc-2.0.8/usr/include/string.h:35: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). __extern size_t strlen(const char *); data/klibc-2.0.8/usr/include/string.h:37:16: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. __extern char *strncat(char *, const char *, size_t); data/klibc-2.0.8/usr/include/string.h:40:16: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). __extern char *strncpy(char *, const char *, size_t); data/klibc-2.0.8/usr/include/sys/stat.h:70:17: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). __extern mode_t umask(mode_t); data/klibc-2.0.8/usr/include/unistd.h:101:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). __extern ssize_t read(int, void *, size_t); data/klibc-2.0.8/usr/include/unistd.h:128:15: [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. __extern void usleep(unsigned long); data/klibc-2.0.8/usr/kinit/capabilities.c:174: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). ret = fwrite(buf, 1, strlen(buf) + 1, file); data/klibc-2.0.8/usr/kinit/devname.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). if (strlen(de->d_name) >= data/klibc-2.0.8/usr/kinit/do_mounts.c:85: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(s); data/klibc-2.0.8/usr/kinit/do_mounts.c:372: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_t len = strlen(src) + 6; /* "/root" */ data/klibc-2.0.8/usr/kinit/do_mounts_md.c:349:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(str) + 1; data/klibc-2.0.8/usr/kinit/getarg.c:44: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/klibc-2.0.8/usr/kinit/ipconfig/dhcp_proto.c:232: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 len = strlen(dev->reqhostname); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:133: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). sethostname(dev->hostname, strlen(dev->hostname))) data/klibc-2.0.8/usr/kinit/ipconfig/main.c:632:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dev->hostname, ip, SYS_NMLN - 1); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:767:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). i = read(fd, &p, sizeof(p) - 1); data/klibc-2.0.8/usr/kinit/ipconfig/main.c:816: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(id); data/klibc-2.0.8/usr/kinit/ipconfig/netdev.c:23:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(ifr->ifr_name, dev->name, sizeof(ifr->ifr_name)); data/klibc-2.0.8/usr/kinit/name_to_dev.c:33:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = read(fd, buf, BUF_SZ); data/klibc-2.0.8/usr/kinit/name_to_dev.c:56:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). len = read(fd, buf, 32); data/klibc-2.0.8/usr/kinit/name_to_dev.c:116:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *dname = alloca(strlen(name) + 6); data/klibc-2.0.8/usr/kinit/name_to_dev.c:153: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/klibc-2.0.8/usr/kinit/nfsmount/mount.c:155: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). path_len = strlen(path); data/klibc-2.0.8/usr/kinit/nfsmount/mount.c:306:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(data->hostname, hostname, sizeof(data->hostname)); data/klibc-2.0.8/usr/kinit/nfsmount/sunrpc.c:20:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((ret = read(clnt->sock, data/klibc-2.0.8/usr/kinit/ramdisk_load.c:23:9: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (getchar() != '\n') data/klibc-2.0.8/usr/kinit/run-init/runinitlib.c:76:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int bytes = len + strlen(name) + 2; data/klibc-2.0.8/usr/kinit/run-init/runinitlib.c:96: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(what); data/klibc-2.0.8/usr/klibc/execvpe.c:34: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). filelen = strlen(file); data/klibc-2.0.8/usr/klibc/execvpe.c:48: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). prefixlen = strlen(searchpath); data/klibc-2.0.8/usr/klibc/fgets.c:13:8: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ch = getc(f); data/klibc-2.0.8/usr/klibc/fputs.c:14: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). return _fwrite(s, strlen(s), file); data/klibc-2.0.8/usr/klibc/getdomainname.c:17: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 (len < strlen(un.domainname) + 1) { data/klibc-2.0.8/usr/klibc/getenv.c:12: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/klibc-2.0.8/usr/klibc/gethostname.c:17: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 (len < strlen(un.nodename) + 1) { data/klibc-2.0.8/usr/klibc/getopt.c:54: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 ((uintptr_t) (pvt.optptr - carg) > (uintptr_t) strlen(carg)) { data/klibc-2.0.8/usr/klibc/getopt_long.c:109: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 ((uintptr_t) (pvt.optptr - carg) > (uintptr_t) strlen(carg)) { data/klibc-2.0.8/usr/klibc/setenv.c:31: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). l2 = strlen(val); data/klibc-2.0.8/usr/klibc/shm_open.c:16: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(path); data/klibc-2.0.8/usr/klibc/shm_unlink.c:16: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(path); data/klibc-2.0.8/usr/klibc/stdio/fgetc.c:7:5: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int fgetc(FILE *file) data/klibc-2.0.8/usr/klibc/stdio/fgetc.c:19:40: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). __ALIAS(int, fgetc_unlocked, (FILE *), fgetc) data/klibc-2.0.8/usr/klibc/stdio/fread.c:40:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). rv = read(f->pub._IO_fileno, rdptr, nb); data/klibc-2.0.8/usr/klibc/strdup.c:10: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 l = strlen(s) + 1; data/klibc-2.0.8/usr/klibc/strlcat.c:20: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). return (bytes + strlen(src)); data/klibc-2.0.8/usr/klibc/strlen.c:7:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t strlen(const char *s) data/klibc-2.0.8/usr/klibc/strncat.c:8:7: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. char *strncat(char *dst, const char *src, size_t n) data/klibc-2.0.8/usr/klibc/strncpy.c:7:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). char *strncpy(char *dst, const char *src, size_t n) data/klibc-2.0.8/usr/klibc/strstr.c:9: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). return (char *)memmem(haystack, strlen(haystack), needle, data/klibc-2.0.8/usr/klibc/strstr.c:10: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). strlen(needle)); data/klibc-2.0.8/usr/klibc/syslog.c:43:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(id, ident ? ident : "", MAXID); data/klibc-2.0.8/usr/klibc/tests/pipetest.c:26:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((rv = read(pfd[0], buf, sizeof buf)) < sizeof msg) { data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:13: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:18: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:23: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:28: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:33: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:38: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:43: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:48: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:53: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:59:2: [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(temp, ""); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:61: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:67: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:71:2: [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(temp, ""); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:73: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:79: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:85: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:91: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:97: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/strlcpycat.c:103: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). printf("'%s'len:%zu strlen:%zu\n", temp, len, strlen(temp)); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:13:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:16:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:19:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:22:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:25:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:30:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:35:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:38:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:42:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:46:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:50:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:54:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:57:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:60:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:63:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:66:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:69:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:72:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:75:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:78:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:82:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:86: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). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:91:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:94:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:97:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:100:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:103:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:106:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:109:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:112:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/tests/testvsnp.c:115:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). printf("buffer = \"%s\" (%d), r = %d\n", buffer, strlen(buffer), r); data/klibc-2.0.8/usr/klibc/usleep.c:10:6: [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. void usleep(unsigned long usec) data/klibc-2.0.8/usr/klibc/vsnprintf.c:403: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). slen = strlen(sarg); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:127: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/klibc-2.0.8/usr/klibc/zlib/gzio.c:627:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(buf); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:664:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(buf); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:699: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). return gzwrite(file, (char*)s, (unsigned)strlen(s)); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:1008: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). s->msg = (char*)ALLOC(strlen(s->path) + strlen(m) + 3); data/klibc-2.0.8/usr/klibc/zlib/gzio.c:1008: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->msg = (char*)ALLOC(strlen(s->path) + strlen(m) + 3); data/klibc-2.0.8/usr/utils/cat.c:170:26: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). for (prev = '\n'; (ch = getc(fp)) != EOF; prev = ch) { data/klibc-2.0.8/usr/utils/cat.c:299:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((nr = read(rfd, buf, bsize)) > 0) data/klibc-2.0.8/usr/utils/cpio.c:124: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_t s = strlen(string) + 1; data/klibc-2.0.8/usr/utils/cpio.c:137:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). input_size = read(in_des, input_buffer, num_bytes); data/klibc-2.0.8/usr/utils/cpio.c:260: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). d->header.c_name = (char *)xmalloc(strlen(file_hdr->c_name) + 1); data/klibc-2.0.8/usr/utils/cpio.c:726: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). for (len = strlen(name); 1 < len && ISSLASH(name[len - 1]); len--) data/klibc-2.0.8/usr/utils/dd.c:236:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ret = read(fd, p, size); data/klibc-2.0.8/usr/utils/dd.c:323:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). in_size = ret = read(rd, in_buf, ibs); data/klibc-2.0.8/usr/utils/losetup.c:31:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(dest, src, n-1); data/klibc-2.0.8/usr/utils/losetup.c:145:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(pfd, pass+i, 1) != 1 || data/klibc-2.0.8/usr/utils/losetup.c:215: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). memset(pass, 0, strlen(pass)); data/klibc-2.0.8/usr/utils/minips.c:310:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). num = read(fd, buf, sizeof buf - 1); data/klibc-2.0.8/usr/utils/mkdir.c:119:16: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). saved_umask = umask(0); data/klibc-2.0.8/usr/utils/mkfifo.c:36:16: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). saved_umask = umask(0); data/klibc-2.0.8/usr/utils/mount_opts.c:38: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(s); data/klibc-2.0.8/usr/utils/nuke.c:49:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int bytes = len + strlen(name) + 2; data/klibc-2.0.8/usr/utils/nuke.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). int len = strlen(what); data/klibc-2.0.8/usr/utils/readlink.c:45: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). rv = realpath(name, link_name) ? strlen(link_name) : -1; data/klibc-2.0.8/usr/utils/uname.c:61: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(hardware) == 4 ANALYSIS SUMMARY: Hits = 890 Lines analyzed = 69742 in approximately 4.25 seconds (16417 lines/second) Physical Source Lines of Code (SLOC) = 48707 Hits@level = [0] 614 [1] 210 [2] 437 [3] 76 [4] 146 [5] 21 Hits@level+ = [0+] 1504 [1+] 890 [2+] 680 [3+] 243 [4+] 167 [5+] 21 Hits/KSLOC@level+ = [0+] 30.8785 [1+] 18.2725 [2+] 13.961 [3+] 4.98902 [4+] 3.42867 [5+] 0.43115 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.