|
|
@ -66,6 +66,7 @@ |
|
|
|
#include <errno.h> |
|
|
|
#include <dirent.h> |
|
|
|
#include <unistd.h> |
|
|
|
#include <paths.h> |
|
|
|
|
|
|
|
#include "util.h" |
|
|
|
|
|
|
@ -96,7 +97,7 @@ login_fbtab(tty, uid, gid) |
|
|
|
*cp = 0; /* strip comment */ |
|
|
|
if ((cp = devname = strtok(buf, WSPACE)) == 0) |
|
|
|
continue; /* empty or comment */ |
|
|
|
if (strncmp(devname, "/dev/", sizeof("/dev/")-1) != 0 || |
|
|
|
if (strncmp(devname, _PATH_DEV, sizeof(_PATH_DEV) - 1) != 0 || |
|
|
|
(cp = strtok((char *) 0, WSPACE)) == 0 || |
|
|
|
*cp != '0' || |
|
|
|
sscanf(cp, "%o", &prot) == 0 || |
|
|
@ -107,7 +108,7 @@ login_fbtab(tty, uid, gid) |
|
|
|
cp ? cp : "(null)"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (strcmp(devname + 5, tty) == 0) |
|
|
|
if (strcmp(devname + sizeof(_PATH_DEV) - 1, tty) == 0) |
|
|
|
for (cp = strtok(cp, ":"); cp; cp = strtok(NULL, ":")) |
|
|
|
login_protect(table, cp, prot, uid, gid); |
|
|
|
} |
|
|
|