am 59de803a: Merge "libc should use O_CLOEXEC when opening files for its own use."
				
					
				
			* commit '59de803af98a284378303489f614be3e53800b3f': libc should use O_CLOEXEC when opening files for its own use.
This commit is contained in:
		@@ -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);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1453,7 +1453,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();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 */
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user