version 1.17, 2015/11/05 22:20:11 |
version 1.18, 2019/05/16 06:23:15 |
|
|
return (errbuf); |
return (errbuf); |
} |
} |
|
|
if (getuid()) { |
|
if (stat(device, &st) < 0) |
|
return (NULL); |
|
if ((st.st_mode & S_IWGRP) == 0) |
|
return (NULL); |
|
} |
|
|
|
/* |
/* |
* open will fail on slip lines or exclusive-use lines |
* open will fail on slip lines or exclusive-use lines |
* if not running as root; not an error. |
* if not running as root; not an error. |
|
|
(void) snprintf(errbuf, sizeof(errbuf), |
(void) snprintf(errbuf, sizeof(errbuf), |
"%s: %s", device, strerror(errno)); |
"%s: %s", device, strerror(errno)); |
return (errbuf); |
return (errbuf); |
|
} |
|
|
|
if (getuid()) { |
|
if (fstat(fd, &st) < 0 || |
|
(st.st_mode & S_IWGRP) == 0) { |
|
close(fd); |
|
return (NULL); |
|
} |
} |
} |
|
|
for (cnt = left = 0; cnt < iovcnt; ++cnt) |
for (cnt = left = 0; cnt < iovcnt; ++cnt) |