I noticed that chmod.c have uninitialized variable char *ep that was used. This diff clarify what I mean.
Index: chmod.c =================================================================== RCS file: /OpenBSD/src/bin/chmod/chmod.c,v retrieving revision 1.30 diff -u -p -u -p -r1.30 chmod.c --- chmod.c 21 May 2014 06:23:01 -0000 1.30 +++ chmod.c 24 Sep 2014 08:47:58 -0000 @@ -65,7 +65,7 @@ main(int argc, char *argv[]) uid_t uid; gid_t gid; u_int32_t fclear, fset; - char *ep, *mode, *cp, *flags; + char *mode, *cp, *flags; setlocale(LC_ALL, ""); @@ -148,13 +148,11 @@ done: flags = *argv; if (*flags >= '0' && *flags <= '7') { errno = 0; - val = strtoul(flags, &ep, 8); + val = strtoul(flags, (char *)NULL, 8); if (val > UINT_MAX) errno = ERANGE; if (errno) err(1, "invalid flags: %s", flags); - if (*ep) - errx(1, "invalid flags: %s", flags); fset = val; oct = 1; } else { @@ -167,13 +165,11 @@ done: mode = *argv; if (*mode >= '0' && *mode <= '7') { errno = 0; - val = strtol(mode, &ep, 8); + val = strtol(mode, (char *)NULL, 8); if (val > INT_MAX || val < 0) errno = ERANGE; if (errno) err(1, "invalid file mode: %s", mode); - if (*ep) - errx(1, "invalid file mode: %s", mode); omode = val; oct = 1; } else {