Commit ID: 1005FBEF923148E008C CVSROOT: /cvs Module name: src Changes by: t...@herc.mirbsd.org 2020/11/26 00:42:28 UTC
Modified files: lib/libc/sys : readlink.2 include : unistd.h sys/kern : init_sysent.c syscalls.c sys/sys : syscall.h syscallargs.h usr.bin/readlink: readlink.c bin/mksh : misc.c Log message: • check readlink(2) arg (to avoid TOCTOU race) by doing something like: char buf[size + 1]; ssize_t n = readlink(fn, buf, sizeof(buf)); if (n == (ssize_t)-1 || n > size) // error alt. if (n == (ssize_t)-1 || n >= sizeof(buf)) // error via https://www.hadrons.org/~guillem/debian/ports/porting • readlink(2) returns ssize_t (per POSIX) while here To generate a diff of this changeset, execute the following commands: cvs -R rdiff -kk -upr1.2 -r1.3 src/lib/libc/sys/readlink.2 cvs -R rdiff -kk -upr1.14 -r1.15 src/include/unistd.h cvs -R rdiff -kk -upr1.10 -r1.11 src/sys/kern/init_sysent.c cvs -R rdiff -kk -upr1.10 -r1.11 src/sys/kern/syscalls.c cvs -R rdiff -kk -upr1.10 -r1.11 src/sys/sys/syscall.h cvs -R rdiff -kk -upr1.10 -r1.11 src/sys/sys/syscallargs.h cvs -R rdiff -kk -upr1.6 -r1.7 src/usr.bin/readlink/readlink.c cvs -R rdiff -kk -upr1.302 -r1.303 src/bin/mksh/misc.c