]> git.ipfire.org Git - thirdparty/glibc.git/commit
CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r
authorFlorian Weimer <fweimer@redhat.com>
Thu, 31 Oct 2013 14:55:52 +0000 (09:55 -0500)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Thu, 31 Oct 2013 14:55:52 +0000 (09:55 -0500)
commitf166b9c6e90d631115c59b4357357bc168d8e51a
tree6018bd0cffd98f4c0c0925ecf127e661cda813c3
parent760b348db29b446efc760b4bc3627379cc61b0d8
CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r

* sysdeps/posix/dirstream.h (struct __dirstream): Add errcode
member.
* sysdeps/posix/opendir.c (__alloc_dir): Initialize errcode
member.
* sysdeps/posix/rewinddir.c (rewinddir): Reset errcode member.
* sysdeps/posix/readdir_r.c (__READDIR_R): Enforce NAME_MAX limit.
Return delayed error code.  Remove GETDENTS_64BIT_ALIGNED
conditional.
* sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Do not define
GETDENTS_64BIT_ALIGNED.
* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
* manual/filesys.texi (Reading/Closing Directory): Document
ENAMETOOLONG return value of readdir_r.  Recommend readdir more
strongly.
* manual/conf.texi (Limits for Files): Add portability note to
NAME_MAX, PATH_MAX.
(Pathconf): Add portability note for _PC_NAME_MAX, _PC_PATH_MAX.

backport of 91ce40854d0b7f865cf5024ef95a8026b76096f3
ChangeLog
NEWS
manual/conf.texi
manual/filesys.texi
sysdeps/posix/dirstream.h
sysdeps/posix/opendir.c
sysdeps/posix/readdir_r.c
sysdeps/posix/rewinddir.c
sysdeps/unix/sysv/linux/i386/readdir64_r.c
sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c