diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 39d2396c5..31ba03bad 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2009-04-06 Earl Chew + + * libc/rexec.cc (ruserpass): Use fstat64 instead of fstat. + 2009-04-06 Corinna Vinschen * strfuncs.cc: Add comment to explain why we can't support JIS diff --git a/winsup/cygwin/libc/rexec.cc b/winsup/cygwin/libc/rexec.cc index ca253f83e..3760e6a3a 100644 --- a/winsup/cygwin/libc/rexec.cc +++ b/winsup/cygwin/libc/rexec.cc @@ -159,7 +159,7 @@ ruserpass(const char *host, char **aname, char **apass, char **aacct) char myname[INTERNET_MAX_HOST_NAME_LENGTH + 1]; const char *mydomain; int t, i, c, usedefault = 0; - struct stat stb; + struct __stat64 stb; hdir = getenv("HOME"); if (hdir == NULL) @@ -218,7 +218,7 @@ next: break; case PASSWD: if ((*aname == 0 || strcmp(*aname, "anonymous")) && - fstat(fileno(cfile), &stb) >= 0 && + fstat64(fileno(cfile), &stb) >= 0 && (stb.st_mode & 077) != 0) { warnx("Error: .netrc file is readable by others."); warnx("Remove password or make file unreadable by others."); @@ -230,7 +230,7 @@ next: } break; case ACCOUNT: - if (fstat(fileno(cfile), &stb) >= 0 + if (fstat64(fileno(cfile), &stb) >= 0 && (stb.st_mode & 077) != 0) { warnx("Error: .netrc file is readable by others."); warnx("Remove account or make file unreadable by others.");