~ubuntu-branches/ubuntu/lucid/eglibc/lucid-security

« back to all changes in this revision

Viewing changes to debian/patches/any/CVE-2013-4237-part2.diff

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2014-07-28 11:23:55 UTC
  • Revision ID: package-import@ubuntu.com-20140728112355-d1m3idnt2n38dzj1
Tags: 2.11.1-0ubuntu7.14
* SECURITY UPDATE: denial of service via buffer overflow in getaddrinfo
  - debian/patches/CVE-2013-4357.patch: fix overflow in include/alloca.h,
    nis/nss_nis/nis-alias.c, nscd/nscd_getserv_r.c, posix/glob.c,
    sysdeps/posix/getaddrinfo.c.
  - CVE-2013-4357
* SECURITY UPDATE: denial of service via buffer overflow in getaddrinfo
  - debian/patches/any/CVE-2013-4458.patch: fix overflow in
    sysdeps/posix/getaddrinfo.c.
  - CVE-2013-4458
* SECURITY UPDATE: Directory traversal in locale environment handling
  - debian/patches/any/CVE-2014-0475.diff: validate locale names in
    locale/findlocale.c, locale/setlocale.c, added test to
    localedata/tst-setlocale3.c, localedata/Makefile.
  - CVE-2014-0475
* SECURITY UPDATE: use-after-free via posix_spawn_file_actions_addopen
  failing to copy the path argument
  - debian/patches/any/CVE-2014-4043.diff: properly copy path in
    posix/spawn_faction_addopen.c, posix/spawn_faction_destroy.c,
    posix/spawn_int.h, added test to posix/tst-spawn.c.
  - CVE-2014-4043
* debian/patches/any/CVE-2013-4237-part2.diff: fix alignment issue
  causing a readdir regression on sparc.
* debian/patches/any/CVE-2013-4332-part2.diff: added a couple of extra
  commits to fix another overflow and an infinite loop.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description: fix alignment issue causing a readdir regression on sparc.
 
2
Origin: backport, https://sourceware.org/git/?p=glibc.git;h=75b4202ab03337edb37536e3d9470a48a04c9341
 
3
 
 
4
Index: eglibc-2.15/sysdeps/unix/dirstream.h
 
5
===================================================================
 
6
--- eglibc-2.15.orig/sysdeps/unix/dirstream.h   2014-07-25 13:21:06.726831895 -0400
 
7
+++ eglibc-2.15/sysdeps/unix/dirstream.h        2014-07-25 13:23:19.426831241 -0400
 
8
@@ -42,8 +42,13 @@
 
9
 
 
10
     int errcode;               /* Delayed error code.  */
 
11
 
 
12
-    /* Directory block.  */
 
13
-    char data[0] __attribute__ ((aligned (__alignof__ (void*))));
 
14
+    /* Directory block.  We must make sure that this block starts
 
15
+       at an address that is aligned adequately enough to store
 
16
+       dirent entries.  Using the alignment of "void *" is not
 
17
+       sufficient because dirents on 32-bit platforms can require
 
18
+       64-bit alignment.  We use "long double" here to be consistent
 
19
+       with what malloc uses.  */
 
20
+    char data[0] __attribute__ ((aligned (__alignof__ (long double))));
 
21
   };
 
22
 
 
23
 #define _DIR_dirfd(dirp)       ((dirp)->fd)