Merge "libc should use O_CLOEXEC when opening files for its own use."

This commit is contained in:
Elliott Hughes 2014-08-26 23:11:45 +00:00 committed by Gerrit Code Review
commit 59de803af9
7 changed files with 11 additions and 11 deletions

View file

@ -71,7 +71,7 @@ __LIBC_HIDDEN__ mapinfo_t* mapinfo_create(pid_t pid) {
struct mapinfo_t* milist = NULL; struct mapinfo_t* milist = NULL;
char data[1024]; // Used to read lines as well as to construct the filename. char data[1024]; // Used to read lines as well as to construct the filename.
snprintf(data, sizeof(data), "/proc/%d/maps", pid); snprintf(data, sizeof(data), "/proc/%d/maps", pid);
FILE* fp = fopen(data, "r"); FILE* fp = fopen(data, "re");
if (fp != NULL) { if (fp != NULL) {
while (fgets(data, sizeof(data), fp) != NULL) { while (fgets(data, sizeof(data), fp) != NULL) {
mapinfo_t* mi = parse_maps_line(data); mapinfo_t* mi = parse_maps_line(data);

View file

@ -36,7 +36,7 @@ void pututline(struct utmp* utmp)
struct utmp u; struct utmp u;
long i; long i;
if (!(f = fopen(_PATH_UTMP, "w+"))) if (!(f = fopen(_PATH_UTMP, "w+e")))
return; return;
while (fread(&u, sizeof(struct utmp), 1, f) == 1) while (fread(&u, sizeof(struct utmp), 1, f) == 1)
@ -55,7 +55,7 @@ void pututline(struct utmp* utmp)
fclose(f); fclose(f);
if (!(f = fopen(_PATH_UTMP, "w+"))) if (!(f = fopen(_PATH_UTMP, "w+e")))
return; return;
fwrite(utmp, sizeof(struct utmp), 1, f); fwrite(utmp, sizeof(struct utmp), 1, f);

View file

@ -95,7 +95,7 @@ static int __sysconf_nprocessors_conf() {
} }
static int __sysconf_nprocessors_onln() { static int __sysconf_nprocessors_onln() {
FILE* fp = fopen("/proc/stat", "r"); FILE* fp = fopen("/proc/stat", "re");
if (fp == NULL) { if (fp == NULL) {
return 1; return 1;
} }
@ -118,7 +118,7 @@ static int __sysconf_nprocessors_onln() {
} }
static int __get_meminfo(const char* pattern) { static int __get_meminfo(const char* pattern) {
FILE* fp = fopen("/proc/meminfo", "r"); FILE* fp = fopen("/proc/meminfo", "re");
if (fp == NULL) { if (fp == NULL) {
return -1; return -1;
} }

View file

@ -899,7 +899,7 @@ _sethtent(int f)
res_static rs = __res_get_static(); res_static rs = __res_get_static();
if (rs == NULL) return; if (rs == NULL) return;
if (!rs->hostf) if (!rs->hostf)
rs->hostf = fopen(_PATH_HOSTS, "r" ); rs->hostf = fopen(_PATH_HOSTS, "re" );
else else
rewind(rs->hostf); rewind(rs->hostf);
rs->stayopen = f; rs->stayopen = f;
@ -925,7 +925,7 @@ _gethtent(void)
int af, len; int af, len;
res_static rs = __res_get_static(); res_static rs = __res_get_static();
if (!rs->hostf && !(rs->hostf = fopen(_PATH_HOSTS, "r" ))) { if (!rs->hostf && !(rs->hostf = fopen(_PATH_HOSTS, "re" ))) {
h_errno = NETDB_INTERNAL; h_errno = NETDB_INTERNAL;
return NULL; return NULL;
} }

View file

@ -2017,7 +2017,7 @@ _sethtent(FILE **hostf)
{ {
if (!*hostf) if (!*hostf)
*hostf = fopen(_PATH_HOSTS, "r" ); *hostf = fopen(_PATH_HOSTS, "re");
else else
rewind(*hostf); rewind(*hostf);
} }
@ -2046,7 +2046,7 @@ _gethtent(FILE **hostf, const char *name, const struct addrinfo *pai)
assert(name != NULL); assert(name != NULL);
assert(pai != NULL); assert(pai != NULL);
if (!*hostf && !(*hostf = fopen(_PATH_HOSTS, "r" ))) if (!*hostf && !(*hostf = fopen(_PATH_HOSTS, "re")))
return (NULL); return (NULL);
again: again:
if (!(p = fgets(hostbuf, sizeof hostbuf, *hostf))) if (!(p = fgets(hostbuf, sizeof hostbuf, *hostf)))

View file

@ -1436,7 +1436,7 @@ _dump_answer(const void* answer, int answerlen)
char* buf; char* buf;
int fileLen; int fileLen;
fp = fopen("/data/reslog.txt", "w+"); fp = fopen("/data/reslog.txt", "w+e");
if (fp != NULL) { if (fp != NULL) {
statep = __res_get_state(); statep = __res_get_state();

View file

@ -289,7 +289,7 @@ __res_vinit(res_state statp, int preinit) {
line[sizeof(name) - 1] == '\t')) line[sizeof(name) - 1] == '\t'))
nserv = 0; nserv = 0;
if ((fp = fopen(_PATH_RESCONF, "r")) != NULL) { if ((fp = fopen(_PATH_RESCONF, "re")) != NULL) {
/* read the config file */ /* read the config file */
while (fgets(buf, sizeof(buf), fp) != NULL) { while (fgets(buf, sizeof(buf), fp) != NULL) {
/* skip comments */ /* skip comments */