if (S_ISDIR(st->st_mode) &&
(!(f & SF_LAST) || (cp->cp_what & CP_STICKYOK)))
- stickyok = 01000;
+ stickyok = S_ISVTX;
/* --- Check for world-writability --- */
if ((cp->cp_what & CP_WRWORLD) &&
- (st->st_mode & (0002 | stickyok)) == 0002) {
+ (st->st_mode & (S_IWOTH | stickyok)) == S_IWOTH) {
bad |= CP_WRWORLD;
report(cp, CP_WRWORLD, 1, p, "** world writable **");
}
/* --- Check for group-writability --- */
if ((cp->cp_what & (CP_WRGRP | CP_WROTHGRP)) &&
- (st->st_mode & (0020 | stickyok)) == 0020) {
+ (st->st_mode & (S_IWGRP | stickyok)) == S_IWGRP) {
b = CP_WRGRP;
if (cp->cp_what & CP_WROTHGRP) {
bad |= sanity(d.buf, &st, cp, ee ? 0 : SF_LAST);
if (S_ISDIR(st.st_mode)) {
- if (st.st_mode & 01000)
+ if (st.st_mode & S_ISVTX)
sp->e_flags |= EF_STICKY;
report(cp, CP_REPORT, 4, d.buf, "directory");
continue;
complain(p, "not a directory", 0);
else if (st.st_uid != me)
complain(p, "not owner", 0);
- else if (st.st_mode & 0077)
+ else if (st.st_mode & (S_IRWXG | S_IRWXO))
complain(p, "non-owner access permitted", 0);
- else if (~st.st_mode & 0700)
+ else if (~st.st_mode & S_IRWXU)
complain(p, "owner lacks permissions", 0);
else
return (1);