aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2015-09-09 18:41:25 -0700
committerPaul Pluzhnikov <ppluzhnikov@google.com>2015-09-09 18:41:25 -0700
commitd18c36e6007b03533a38c890c68544daa78d301a (patch)
treea43b8ecae1a58fbdd64d981f55adc46360bd4e2f
parentec999b8e5ede67f42759657beb8c5fef87c8cc63 (diff)
downloadglibc-d18c36e6007b03533a38c890c68544daa78d301a.tar
glibc-d18c36e6007b03533a38c890c68544daa78d301a.tar.gz
glibc-d18c36e6007b03533a38c890c68544daa78d301a.tar.bz2
glibc-d18c36e6007b03533a38c890c68544daa78d301a.zip
To fix BZ #18675, use __fstatvfs64 in __fpathconf.
-rw-r--r--ChangeLog5
-rw-r--r--NEWS6
-rw-r--r--sysdeps/posix/fpathconf.c14
3 files changed, 11 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f009a806d..c9ec7ccf07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-09 Justin Maggard <jmaggard@netgear.com>
+
+ [BZ #18675]
+ * sysdeps/posix/fpathconf.c (__fpathconf): Use __fstatvfs64.
+
2015-09-08 Joseph Myers <joseph@codesourcery.com>
[BZ #14912]
diff --git a/NEWS b/NEWS
index d397b54d72..4e1f3a6af6 100644
--- a/NEWS
+++ b/NEWS
@@ -11,9 +11,9 @@ Version 2.23
2898, 14341, 15786, 16141, 16517, 16519, 16520, 16734, 16973, 17787,
17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480, 18525, 18610,
- 18618, 18647, 18661, 18674, 18681, 18757, 18778, 18781, 18787, 18789,
- 18790, 18795, 18796, 18820, 18823, 18824, 18863, 18870, 18873, 18887,
- 18921.
+ 18618, 18647, 18661, 18674, 18675, 18681, 18757, 18778, 18781, 18787,
+ 18789, 18790, 18795, 18796, 18820, 18823, 18824, 18863, 18870, 18873,
+ 18887, 18921.
* The obsolete header <regexp.h> has been removed. Programs that require
this header must be updated to use <regex.h> instead.
diff --git a/sysdeps/posix/fpathconf.c b/sysdeps/posix/fpathconf.c
index 25f632ee84..088eb150ff 100644
--- a/sysdeps/posix/fpathconf.c
+++ b/sysdeps/posix/fpathconf.c
@@ -66,10 +66,10 @@ __fpathconf (fd, name)
case _PC_NAME_MAX:
#ifdef NAME_MAX
{
- struct statfs buf;
+ struct statvfs64 sv;
int save_errno = errno;
- if (__fstatfs (fd, &buf) < 0)
+ if (__fstatvfs64 (fd, &sv) < 0)
{
if (errno == ENOSYS)
{
@@ -83,15 +83,7 @@ __fpathconf (fd, name)
}
else
{
-#ifdef _STATFS_F_NAMELEN
- return buf.f_namelen;
-#else
-# ifdef _STATFS_F_NAME_MAX
- return buf.f_name_max;
-# else
- return NAME_MAX;
-# endif
-#endif
+ return sv.f_namemax;
}
}
#else