diff options
author | casper <none@none> | 2006-05-01 11:23:49 -0700 |
---|---|---|
committer | casper <none@none> | 2006-05-01 11:23:49 -0700 |
commit | 004388ebfdfe2ed7dfd2d153a876dfcc22d2c006 (patch) | |
tree | 9f3972760e2696f63065521871e50e1440bfbb75 /usr/src/lib/libbsm/common/devalloc.c | |
parent | 0ade2cf005fcaecc5255dacf7d76683de855a9da (diff) | |
download | illumos-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.c | 10 |
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) |