This removes a dead store to variable `f' from libsa's readdir(), which also avoids suspicious use of `fd' without validation.
OK? Index: lib/libsa/readdir.c =================================================================== RCS file: src/sys/lib/libsa/readdir.c,v retrieving revision 1.9 diff -u -p -r1.9 readdir.c --- lib/libsa/readdir.c 19 Nov 2014 20:28:56 -0000 1.9 +++ lib/libsa/readdir.c 10 Jan 2022 15:56:30 -0000 @@ -65,14 +65,17 @@ opendir(const char *name) int readdir(int fd, char *dest) { - struct open_file *f = &files[fd]; + struct open_file *f; - if (fd < 0 || fd >= SOPEN_MAX || - !((f = &files[fd])->f_flags & F_READ)) { + if (fd < 0 || fd >= SOPEN_MAX) { + errno = EBADF; + return (-1); + } + f = &files[fd]; + if (!(f->f_flags & F_READ)) { errno = EBADF; return (-1); } - if (f->f_flags & F_RAW) { errno = EOPNOTSUPP; return (-1);