mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Clean up internal fopen uses
No need to ever not use c and e.
This commit is contained in:
65
ChangeLog
65
ChangeLog
@ -1,3 +1,68 @@
|
|||||||
|
2011-11-15 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
|
* time/getdate.c (__getdate_r): Set FD_CLOEXEC for given file.
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): Set
|
||||||
|
FD_CLOEXEC for /proc/self/maps.
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/getsysstats.c (phys_pages_info): Set
|
||||||
|
FD_CLOEXEC for /proc/meminfo.
|
||||||
|
|
||||||
|
* sysdeps/posix/getaddrinfo.c (gaiconf_init): Set FD_CLOEXEC for
|
||||||
|
gai.conf.
|
||||||
|
|
||||||
|
* resolv/res_query.c (res_hostalias): Don't allow cancellation and set
|
||||||
|
FD_CLOEXEC for given file.
|
||||||
|
|
||||||
|
* resolv/res_hconf.c (do_init): Set FD_CLOEXEC for host.conf.
|
||||||
|
|
||||||
|
* resolv/gethnamaddr.c (_sethtent): Don't allow cancellation and set
|
||||||
|
FD_CLOEXEC for /etc/hosts.
|
||||||
|
(_gethtent): Likewise.
|
||||||
|
|
||||||
|
* nss/nsswitch.c (nss_parse_file): Set FD_CLOEXEC.
|
||||||
|
|
||||||
|
* nss/nss_files/files-netgrp.c (_nss_files_setnetgrent): Don't allow
|
||||||
|
cancellation and set FD_CLOEXEC for /etc/netgroup.
|
||||||
|
|
||||||
|
* nss/nss_files/files-key.c (search): Don't allow cancellation when
|
||||||
|
reading /etc/publickey.
|
||||||
|
|
||||||
|
* nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Don't
|
||||||
|
allow cancellation when reading /etc/group.
|
||||||
|
|
||||||
|
* nss/nss_files/files-alias.c (internal_setent): Don't allow
|
||||||
|
cancellation.
|
||||||
|
(get_next_alias): Likewise for included file. Also set FD_CLOEXEC.
|
||||||
|
|
||||||
|
* nss/nss_files/files-XXX.c (internal_setent): Don't allow cancellation
|
||||||
|
when using data file.
|
||||||
|
|
||||||
|
* nis/nss-default.c (init): Set FD_CLOEXEC for /etc/default/nss.
|
||||||
|
|
||||||
|
* nis/nis_file.c (read_nis_obj): Set FD_CLOEXEC.
|
||||||
|
(write_nis_obj): Use "c" and "e" in fopen.
|
||||||
|
|
||||||
|
* misc/mntent_r.c (__setmntent): Also append e to fopen format.
|
||||||
|
|
||||||
|
* misc/getusershell.c (initshells): Set FD_CLOEXEC for /etc/shells.
|
||||||
|
|
||||||
|
* misc/getttyent.c (setttyent): Set FD_CLOEXEC.
|
||||||
|
|
||||||
|
* misc/getpass.c (getpass): Set FD_CLOEXEC for /dev/tty.
|
||||||
|
|
||||||
|
* intl/localealias.c (read_alias_file): Set FD_CLOEXEC for
|
||||||
|
locale.alias.
|
||||||
|
|
||||||
|
* inet/ruserpass.c (ruserpass): Set FD_CLOEXEC for .netrc.
|
||||||
|
|
||||||
|
* inet/rcmd.c (iruserfopen): Set FD_CLOEXEC for hosts.equiv.
|
||||||
|
|
||||||
|
* iconv/gconv_conf.c (read_conf_file): Set FD_CLOEXEC for config file.
|
||||||
|
|
||||||
|
* hesiod/hesiod.c (parse_config_file): Prevent cancellation in config
|
||||||
|
file parsing and set FD_CLOEXEC.
|
||||||
|
|
||||||
2011-11-14 Ulrich Drepper <drepper@gmail.com>
|
2011-11-14 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
* time/tzfile.c (__tzfile_read): Use "e" in fopen call.
|
* time/tzfile.c (__tzfile_read): Use "e" in fopen call.
|
||||||
|
@ -278,7 +278,7 @@ parse_config_file(struct hesiod_p *ctx, const char *filename) {
|
|||||||
/*
|
/*
|
||||||
* Now open and parse the file...
|
* Now open and parse the file...
|
||||||
*/
|
*/
|
||||||
if (!(fp = fopen(filename, "r")))
|
if (!(fp = fopen(filename, "rce")))
|
||||||
return (-1);
|
return (-1);
|
||||||
|
|
||||||
while (fgets(buf, sizeof(buf), fp) != NULL) {
|
while (fgets(buf, sizeof(buf), fp) != NULL) {
|
||||||
@ -482,7 +482,7 @@ __hesiod_res_get(void *context) {
|
|||||||
|
|
||||||
void
|
void
|
||||||
__hesiod_res_set(void *context, struct __res_state *res,
|
__hesiod_res_set(void *context, struct __res_state *res,
|
||||||
void (*free_res)(void *)) {
|
void (*free_res)(void *)) {
|
||||||
struct hesiod_p *ctx = context;
|
struct hesiod_p *ctx = context;
|
||||||
|
|
||||||
if (ctx->res && ctx->free_res) {
|
if (ctx->res && ctx->free_res) {
|
||||||
|
@ -364,7 +364,7 @@ read_conf_file (const char *filename, const char *directory, size_t dir_len,
|
|||||||
{
|
{
|
||||||
/* Note the file is opened with cancellation in the I/O functions
|
/* Note the file is opened with cancellation in the I/O functions
|
||||||
disabled. */
|
disabled. */
|
||||||
FILE *fp = fopen (filename, "rc");
|
FILE *fp = fopen (filename, "rce");
|
||||||
char *line = NULL;
|
char *line = NULL;
|
||||||
size_t line_len = 0;
|
size_t line_len = 0;
|
||||||
static int modcounter;
|
static int modcounter;
|
||||||
|
12
inet/rcmd.c
12
inet/rcmd.c
@ -149,7 +149,7 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af)
|
|||||||
__fxprintf(NULL, "rcmd: getaddrinfo: %s\n",
|
__fxprintf(NULL, "rcmd: getaddrinfo: %s\n",
|
||||||
gai_strerror(error));
|
gai_strerror(error));
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
pfd[0].events = POLLIN;
|
pfd[0].events = POLLIN;
|
||||||
@ -488,7 +488,7 @@ iruserfopen (const char *file, uid_t okuser)
|
|||||||
cp = _("not regular file");
|
cp = _("not regular file");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res = fopen (file, "rc");
|
res = fopen (file, "rce");
|
||||||
if (!res)
|
if (!res)
|
||||||
cp = _("cannot open");
|
cp = _("cannot open");
|
||||||
else if (__fxstat64 (_STAT_VER, fileno (res), &st) < 0)
|
else if (__fxstat64 (_STAT_VER, fileno (res), &st) < 0)
|
||||||
@ -574,8 +574,8 @@ ruserok2_sa (ra, ralen, superuser, ruser, luser, rhost)
|
|||||||
|
|
||||||
if (hostf != NULL)
|
if (hostf != NULL)
|
||||||
{
|
{
|
||||||
isbad = __validuser2_sa (hostf, ra, ralen, luser, ruser, rhost);
|
isbad = __validuser2_sa (hostf, ra, ralen, luser, ruser, rhost);
|
||||||
fclose (hostf);
|
fclose (hostf);
|
||||||
}
|
}
|
||||||
|
|
||||||
seteuid (uid);
|
seteuid (uid);
|
||||||
@ -618,7 +618,7 @@ iruserok_af (raddr, superuser, ruser, luser, af)
|
|||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
ra.ss_family = AF_INET6;
|
ra.ss_family = AF_INET6;
|
||||||
memcpy (&(((struct sockaddr_in6 *)&ra)->sin6_addr), raddr,
|
memcpy (&(((struct sockaddr_in6 *)&ra)->sin6_addr), raddr,
|
||||||
sizeof(struct in6_addr));
|
sizeof(struct in6_addr));
|
||||||
ralen = sizeof(struct sockaddr_in6);
|
ralen = sizeof(struct sockaddr_in6);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -778,7 +778,7 @@ __validuser2_sa(hostf, ra, ralen, luser, ruser, rhost)
|
|||||||
|
|
||||||
while (__getline (&buf, &bufsize, hostf) > 0) {
|
while (__getline (&buf, &bufsize, hostf) > 0) {
|
||||||
buf[bufsize - 1] = '\0'; /* Make sure it's terminated. */
|
buf[bufsize - 1] = '\0'; /* Make sure it's terminated. */
|
||||||
p = buf;
|
p = buf;
|
||||||
|
|
||||||
/* Skip empty or comment lines */
|
/* Skip empty or comment lines */
|
||||||
if (__isempty (p)) {
|
if (__isempty (p)) {
|
||||||
|
@ -114,7 +114,7 @@ ruserpass(host, aname, apass)
|
|||||||
buf = alloca (strlen (hdir) + 8);
|
buf = alloca (strlen (hdir) + 8);
|
||||||
|
|
||||||
__stpcpy (__stpcpy (buf, hdir), "/.netrc");
|
__stpcpy (__stpcpy (buf, hdir), "/.netrc");
|
||||||
cfile = fopen(buf, "rc");
|
cfile = fopen(buf, "rce");
|
||||||
if (cfile == NULL) {
|
if (cfile == NULL) {
|
||||||
if (errno != ENOENT)
|
if (errno != ENOENT)
|
||||||
warn("%s", buf);
|
warn("%s", buf);
|
||||||
|
@ -221,7 +221,7 @@ read_alias_file (fname, fname_len)
|
|||||||
|
|
||||||
/* Note the file is opened with cancellation in the I/O functions
|
/* Note the file is opened with cancellation in the I/O functions
|
||||||
disabled. */
|
disabled. */
|
||||||
fp = fopen (full_fname, "rc");
|
fp = fopen (full_fname, "rce");
|
||||||
freea (full_fname);
|
freea (full_fname);
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1992-1999,2001,2003,2004,2005 Free Software Foundation, Inc.
|
/* Copyright (C) 1992-1999,2001,2003-2005,2011 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -57,7 +57,7 @@ getpass (prompt)
|
|||||||
/* Try to write to and read from the terminal if we can.
|
/* Try to write to and read from the terminal if we can.
|
||||||
If we can't open the terminal, use stderr and stdin. */
|
If we can't open the terminal, use stderr and stdin. */
|
||||||
|
|
||||||
in = fopen ("/dev/tty", "w+c");
|
in = fopen ("/dev/tty", "w+ce");
|
||||||
if (in == NULL)
|
if (in == NULL)
|
||||||
{
|
{
|
||||||
in = stdin;
|
in = stdin;
|
||||||
|
@ -190,7 +190,7 @@ setttyent()
|
|||||||
if (tf) {
|
if (tf) {
|
||||||
(void)rewind(tf);
|
(void)rewind(tf);
|
||||||
return (1);
|
return (1);
|
||||||
} else if ((tf = fopen(_PATH_TTYS, "rc"))) {
|
} else if ((tf = fopen(_PATH_TTYS, "rce"))) {
|
||||||
/* We do the locking ourselves. */
|
/* We do the locking ourselves. */
|
||||||
__fsetlocking (tf, FSETLOCKING_BYCALLER);
|
__fsetlocking (tf, FSETLOCKING_BYCALLER);
|
||||||
return (1);
|
return (1);
|
||||||
|
@ -104,7 +104,7 @@ initshells()
|
|||||||
shells = NULL;
|
shells = NULL;
|
||||||
free(strings);
|
free(strings);
|
||||||
strings = NULL;
|
strings = NULL;
|
||||||
if ((fp = fopen(_PATH_SHELLS, "rc")) == NULL)
|
if ((fp = fopen(_PATH_SHELLS, "rce")) == NULL)
|
||||||
goto init_okshells_noclose;
|
goto init_okshells_noclose;
|
||||||
if (fstat64(fileno(fp), &statb) == -1) {
|
if (fstat64(fileno(fp), &statb) == -1) {
|
||||||
init_okshells:
|
init_okshells:
|
||||||
|
@ -38,10 +38,10 @@ FILE *
|
|||||||
__setmntent (const char *file, const char *mode)
|
__setmntent (const char *file, const char *mode)
|
||||||
{
|
{
|
||||||
/* Extend the mode parameter with "c" to disable cancellation in the
|
/* Extend the mode parameter with "c" to disable cancellation in the
|
||||||
I/O functions. */
|
I/O functions and "e" to set FD_CLOEXEC. */
|
||||||
size_t modelen = strlen (mode);
|
size_t modelen = strlen (mode);
|
||||||
char newmode[modelen + 2];
|
char newmode[modelen + 3];
|
||||||
memcpy (mempcpy (newmode, mode, modelen), "c", 2);
|
memcpy (mempcpy (newmode, mode, modelen), "ce", 3);
|
||||||
FILE *result = fopen (file, newmode);
|
FILE *result = fopen (file, newmode);
|
||||||
|
|
||||||
if (result != NULL)
|
if (result != NULL)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (c) 1997, 1998, 1999, 2004, 2005 Free Software Foundation, Inc.
|
/* Copyright (c) 1997, 1998, 1999, 2004, 2005, 2011 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
|
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ static void *
|
|||||||
read_nis_obj (const char *name, iofct_t readfct, freefct_t freefct,
|
read_nis_obj (const char *name, iofct_t readfct, freefct_t freefct,
|
||||||
size_t objsize)
|
size_t objsize)
|
||||||
{
|
{
|
||||||
FILE *in = fopen (name, "rc");
|
FILE *in = fopen (name, "rce");
|
||||||
if (in == NULL)
|
if (in == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ read_nis_obj (const char *name, iofct_t readfct, freefct_t freefct,
|
|||||||
static bool_t
|
static bool_t
|
||||||
write_nis_obj (const char *name, const void *obj, iofct_t writefct)
|
write_nis_obj (const char *name, const void *obj, iofct_t writefct)
|
||||||
{
|
{
|
||||||
FILE *out = fopen (name, "w");
|
FILE *out = fopen (name, "wce");
|
||||||
if (out == NULL)
|
if (out == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/* Copyright (C) 1996,2001,2004,2006,2007,2010 Free Software Foundation, Inc.
|
/* Copyright (C) 1996,2001,2004,2006,2007,2010,2011
|
||||||
|
Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -57,7 +58,7 @@ static void
|
|||||||
init (void)
|
init (void)
|
||||||
{
|
{
|
||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
FILE *fp = fopen (default_nss, "rc");
|
FILE *fp = fopen (default_nss, "rce");
|
||||||
if (fp != NULL)
|
if (fp != NULL)
|
||||||
{
|
{
|
||||||
char *line = NULL;
|
char *line = NULL;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2011-11-15 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
|
* pthread_getattr_np.c (pthread_getattr_np): Set FD_CLOEXEC for
|
||||||
|
/proc/self/maps.
|
||||||
|
|
||||||
2011-10-29 Ulrich Drepper <drepper@gmail.com>
|
2011-10-29 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
[BZ #13358]
|
[BZ #13358]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
|
/* Copyright (C) 2002-2004, 2006, 2007, 2011 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ pthread_getattr_np (thread_id, attr)
|
|||||||
/* The safest way to get the top of the stack is to read
|
/* The safest way to get the top of the stack is to read
|
||||||
/proc/self/maps and locate the line into which
|
/proc/self/maps and locate the line into which
|
||||||
__libc_stack_end falls. */
|
__libc_stack_end falls. */
|
||||||
FILE *fp = fopen ("/proc/self/maps", "rc");
|
FILE *fp = fopen ("/proc/self/maps", "rce");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
ret = errno;
|
ret = errno;
|
||||||
/* We need the limit of the stack in any case. */
|
/* We need the limit of the stack in any case. */
|
||||||
@ -164,7 +164,7 @@ pthread_getattr_np (thread_id, attr)
|
|||||||
{
|
{
|
||||||
free (cpuset);
|
free (cpuset);
|
||||||
if (ret == ENOSYS)
|
if (ret == ENOSYS)
|
||||||
{
|
{
|
||||||
/* There is no such functionality. */
|
/* There is no such functionality. */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
iattr->cpuset = NULL;
|
iattr->cpuset = NULL;
|
||||||
|
@ -77,7 +77,7 @@ internal_setent (int stayopen)
|
|||||||
|
|
||||||
if (stream == NULL)
|
if (stream == NULL)
|
||||||
{
|
{
|
||||||
stream = fopen (DATAFILE, "re");
|
stream = fopen (DATAFILE, "rce");
|
||||||
|
|
||||||
if (stream == NULL)
|
if (stream == NULL)
|
||||||
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
||||||
|
@ -48,7 +48,7 @@ internal_setent (void)
|
|||||||
|
|
||||||
if (stream == NULL)
|
if (stream == NULL)
|
||||||
{
|
{
|
||||||
stream = fopen ("/etc/aliases", "re");
|
stream = fopen ("/etc/aliases", "rce");
|
||||||
|
|
||||||
if (stream == NULL)
|
if (stream == NULL)
|
||||||
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
||||||
@ -258,7 +258,7 @@ get_next_alias (const char *match, struct aliasent *result,
|
|||||||
|
|
||||||
first_unused = cp;
|
first_unused = cp;
|
||||||
|
|
||||||
listfile = fopen (&cp[9], "r");
|
listfile = fopen (&cp[9], "rce");
|
||||||
/* If the file does not exist we simply ignore
|
/* If the file does not exist we simply ignore
|
||||||
the statement. */
|
the statement. */
|
||||||
if (listfile != NULL
|
if (listfile != NULL
|
||||||
|
@ -30,7 +30,7 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
|
|||||||
long int *size, gid_t **groupsp, long int limit,
|
long int *size, gid_t **groupsp, long int limit,
|
||||||
int *errnop)
|
int *errnop)
|
||||||
{
|
{
|
||||||
FILE *stream = fopen ("/etc/group", "re");
|
FILE *stream = fopen ("/etc/group", "rce");
|
||||||
if (stream == NULL)
|
if (stream == NULL)
|
||||||
{
|
{
|
||||||
*errnop = errno;
|
*errnop = errno;
|
||||||
|
@ -33,7 +33,7 @@ extern int xdecrypt (char *, char *);
|
|||||||
static enum nss_status
|
static enum nss_status
|
||||||
search (const char *netname, char *result, int *errnop, int secret)
|
search (const char *netname, char *result, int *errnop, int secret)
|
||||||
{
|
{
|
||||||
FILE *stream = fopen (DATAFILE, "re");
|
FILE *stream = fopen (DATAFILE, "rce");
|
||||||
if (stream == NULL)
|
if (stream == NULL)
|
||||||
return errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
return errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Netgroup file parser in nss_files modules.
|
/* Netgroup file parser in nss_files modules.
|
||||||
Copyright (C) 1996, 1997, 2000, 2004, 2005 Free Software Foundation, Inc.
|
Copyright (C) 1996, 1997, 2000, 2004, 2005, 2011 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ _nss_files_setnetgrent (const char *group, struct __netgrent *result)
|
|||||||
return NSS_STATUS_UNAVAIL;
|
return NSS_STATUS_UNAVAIL;
|
||||||
|
|
||||||
/* Find the netgroups file and open it. */
|
/* Find the netgroups file and open it. */
|
||||||
fp = fopen (DATAFILE, "r");
|
fp = fopen (DATAFILE, "rce");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
|
||||||
else
|
else
|
||||||
|
@ -503,7 +503,7 @@ nss_parse_file (const char *fname)
|
|||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
/* Open the configuration file. */
|
/* Open the configuration file. */
|
||||||
fp = fopen (fname, "rc");
|
fp = fopen (fname, "rce");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -585,7 +585,7 @@ gethostbyname2(name, af)
|
|||||||
}
|
}
|
||||||
if (!isdigit(*cp) && *cp != '.')
|
if (!isdigit(*cp) && *cp != '.')
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ((isxdigit(name[0]) && strchr(name, ':') != NULL) ||
|
if ((isxdigit(name[0]) && strchr(name, ':') != NULL) ||
|
||||||
name[0] == ':')
|
name[0] == ':')
|
||||||
for (cp = name;; ++cp) {
|
for (cp = name;; ++cp) {
|
||||||
@ -787,7 +787,7 @@ _sethtent(f)
|
|||||||
int f;
|
int f;
|
||||||
{
|
{
|
||||||
if (!hostf)
|
if (!hostf)
|
||||||
hostf = fopen(_PATH_HOSTS, "r" );
|
hostf = fopen(_PATH_HOSTS, "rce" );
|
||||||
else
|
else
|
||||||
rewind(hostf);
|
rewind(hostf);
|
||||||
stayopen = f;
|
stayopen = f;
|
||||||
@ -810,7 +810,7 @@ _gethtent()
|
|||||||
register char *cp, **q;
|
register char *cp, **q;
|
||||||
int af, len;
|
int af, len;
|
||||||
|
|
||||||
if (!hostf && !(hostf = fopen(_PATH_HOSTS, "r" ))) {
|
if (!hostf && !(hostf = fopen(_PATH_HOSTS, "rce" ))) {
|
||||||
__set_h_errno (NETDB_INTERNAL);
|
__set_h_errno (NETDB_INTERNAL);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
@ -307,7 +307,7 @@ do_init (void)
|
|||||||
if (hconf_name == NULL)
|
if (hconf_name == NULL)
|
||||||
hconf_name = _PATH_HOSTCONF;
|
hconf_name = _PATH_HOSTCONF;
|
||||||
|
|
||||||
fp = fopen (hconf_name, "rc");
|
fp = fopen (hconf_name, "rce");
|
||||||
if (fp)
|
if (fp)
|
||||||
{
|
{
|
||||||
/* No threads using this stream. */
|
/* No threads using this stream. */
|
||||||
|
@ -602,7 +602,7 @@ res_hostalias(const res_state statp, const char *name, char *dst, size_t siz) {
|
|||||||
if (statp->options & RES_NOALIASES)
|
if (statp->options & RES_NOALIASES)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
file = getenv("HOSTALIASES");
|
file = getenv("HOSTALIASES");
|
||||||
if (file == NULL || (fp = fopen(file, "r")) == NULL)
|
if (file == NULL || (fp = fopen(file, "rce")) == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
setbuf(fp, NULL);
|
setbuf(fp, NULL);
|
||||||
buf[sizeof(buf) - 1] = '\0';
|
buf[sizeof(buf) - 1] = '\0';
|
||||||
|
@ -1958,7 +1958,7 @@ gaiconf_init (void)
|
|||||||
size_t nscopelist = 0;
|
size_t nscopelist = 0;
|
||||||
bool scopelist_nullbits = false;
|
bool scopelist_nullbits = false;
|
||||||
|
|
||||||
FILE *fp = fopen (GAICONF_FNAME, "rc");
|
FILE *fp = fopen (GAICONF_FNAME, "rce");
|
||||||
if (fp != NULL)
|
if (fp != NULL)
|
||||||
{
|
{
|
||||||
struct stat64 st;
|
struct stat64 st;
|
||||||
|
@ -296,7 +296,7 @@ phys_pages_info (const char *format)
|
|||||||
long int result = -1;
|
long int result = -1;
|
||||||
|
|
||||||
/* If we haven't found an appropriate entry return 1. */
|
/* If we haven't found an appropriate entry return 1. */
|
||||||
FILE *fp = fopen ("/proc/meminfo", "rc");
|
FILE *fp = fopen ("/proc/meminfo", "rce");
|
||||||
if (fp != NULL)
|
if (fp != NULL)
|
||||||
{
|
{
|
||||||
/* No threads use this stream. */
|
/* No threads use this stream. */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
/* Copyright (C) 2004, 2005, 2011 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -32,7 +32,7 @@ __readonly_area (const char *ptr, size_t size)
|
|||||||
{
|
{
|
||||||
const void *ptr_end = ptr + size;
|
const void *ptr_end = ptr + size;
|
||||||
|
|
||||||
FILE *fp = fopen ("/proc/self/maps", "rc");
|
FILE *fp = fopen ("/proc/self/maps", "rce");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
{
|
{
|
||||||
/* It is the system administrator's choice to not have /proc
|
/* It is the system administrator's choice to not have /proc
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Convert a string representation of time to a time value.
|
/* Convert a string representation of time to a time value.
|
||||||
Copyright (C) 1997,1998,1999,2000,2001,2003 Free Software Foundation, Inc.
|
Copyright (C) 1997-2001,2003,2011 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1997.
|
Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1997.
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ static int check_mday (int year, int mon, int mday);
|
|||||||
6 memory allication failed (not enough memory available),
|
6 memory allication failed (not enough memory available),
|
||||||
7 there is no line in the template that matches the input,
|
7 there is no line in the template that matches the input,
|
||||||
8 invalid input specification Example: February 31 or a time is
|
8 invalid input specification Example: February 31 or a time is
|
||||||
specified that can not be represented in a time_t (representing
|
specified that can not be represented in a time_t (representing
|
||||||
the time in seconds since 00:00:00 UTC, January 1, 1970) */
|
the time in seconds since 00:00:00 UTC, January 1, 1970) */
|
||||||
int getdate_err;
|
int getdate_err;
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ __getdate_r (const char *string, struct tm *tp)
|
|||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
/* Open the template file. */
|
/* Open the template file. */
|
||||||
fp = fopen (datemsk, "rc");
|
fp = fopen (datemsk, "rce");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user