summaryrefslogtreecommitdiff
path: root/usr/src/lib/libbsm/common/devalloc.c
diff options
context:
space:
mode:
authorcasper <none@none>2006-05-01 11:23:49 -0700
committercasper <none@none>2006-05-01 11:23:49 -0700
commit004388ebfdfe2ed7dfd2d153a876dfcc22d2c006 (patch)
tree9f3972760e2696f63065521871e50e1440bfbb75 /usr/src/lib/libbsm/common/devalloc.c
parent0ade2cf005fcaecc5255dacf7d76683de855a9da (diff)
downloadillumos-joyent-004388ebfdfe2ed7dfd2d153a876dfcc22d2c006.tar.gz
4916205 libcmd should not use file operation routines from C library
6234782 Kerberos and GSSAPI should not use fopen 6259671 vold won't be killed by TERM signal when several removable devices are managed 6386770 pam_authenticate can fail if open files are >= 255 and the soft fd limit is greater than 256 6414401 Remove shadow stdio implementation obsoleted by PSARC 2006/162 6414404 __rpc_openchild never called and not exported by library 6416815 ON needs to be hardened against the 32-bit fopen/255 problem --HG-- rename : usr/src/lib/libnsl/common/nsl_stdio_prv.c => deleted_files/usr/src/lib/libnsl/common/nsl_stdio_prv.c rename : usr/src/lib/libnsl/include/nsl_stdio_prv.h => deleted_files/usr/src/lib/libnsl/include/nsl_stdio_prv.h rename : usr/src/lib/libnsl/rpc/openchild.c => deleted_files/usr/src/lib/libnsl/rpc/openchild.c rename : usr/src/lib/libnsl/rpc/xdr_stdio_prv.c => deleted_files/usr/src/lib/libnsl/rpc/xdr_stdio_prv.c rename : usr/src/lib/libresolv2/req.flg => deleted_files/usr/src/lib/libresolv2/req.flg rename : usr/src/lib/nsswitch/compat/req.flg => deleted_files/usr/src/lib/nsswitch/compat/req.flg rename : usr/src/lib/nsswitch/files/req.flg => deleted_files/usr/src/lib/nsswitch/files/req.flg rename : usr/src/lib/nsswitch/req.flg => deleted_files/usr/src/lib/nsswitch/req.flg rename : usr/src/lib/nsswitch/user/req.flg => deleted_files/usr/src/lib/nsswitch/user/req.flg
Diffstat (limited to 'usr/src/lib/libbsm/common/devalloc.c')
-rw-r--r--usr/src/lib/libbsm/common/devalloc.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/usr/src/lib/libbsm/common/devalloc.c b/usr/src/lib/libbsm/common/devalloc.c
index 4541191349..08db0f0325 100644
--- a/usr/src/lib/libbsm/common/devalloc.c
+++ b/usr/src/lib/libbsm/common/devalloc.c
@@ -97,7 +97,7 @@ da_check_logindevperm(char *devname)
(void) close(fd);
return (0);
}
- if ((fp = fdopen(fd, "r")) == NULL) {
+ if ((fp = fdopen(fd, "rF")) == NULL) {
free(fbuf);
(void) close(fd);
return (0);
@@ -179,7 +179,6 @@ _da_read_file(char *fname, char **fbuf, time_t *ftime, rwlock_t *flock,
int fd = -1;
int fsize = 0;
time_t newtime;
- FILE *fp = NULL;
struct stat f_stat;
if (flag & DA_FORCE)
@@ -204,11 +203,10 @@ _da_read_file(char *fname, char **fbuf, time_t *ftime, rwlock_t *flock,
*/
if (rw_wrlock(flock) != 0)
return (-1);
- if ((fp = fopen(fname, "r")) == NULL) {
+ if ((fd = open(fname, O_RDONLY)) == -1) {
(void) rw_unlock(flock);
return (-1);
}
- fd = fileno(fp);
if (*fbuf != NULL) {
free(*fbuf);
*fbuf = NULL;
@@ -913,10 +911,10 @@ da_open_devdb(char *rootdir, FILE **dafp, FILE **dmfp, int flag)
if (flag & DA_RDWR) {
oflag = DA_RDWR;
- fmode = "r+";
+ fmode = "r+F";
} else if (flag & DA_RDONLY) {
oflag = DA_RDONLY;
- fmode = "r";
+ fmode = "rF";
}
if ((lockfd = _da_lock_devdb(rootdir)) == -1)