[arch-commits] Commit in lib32-glibc/trunk (4 files)

Jan Steffens heftig at archlinux.org
Sun Sep 14 08:30:53 UTC 2014


    Date: Sunday, September 14, 2014 @ 10:30:52
  Author: heftig
Revision: 118950

2.20-2

Added:
  lib32-glibc/trunk/glibc-2.20-do_ftell_wide-memleak.patch
  lib32-glibc/trunk/glibc-2.20-getifaddrs_internal-segfault.patch
  lib32-glibc/trunk/glibc-2.20-linux-3.16-additions.patch
Modified:
  lib32-glibc/trunk/PKGBUILD

-----------------------------------------------+
 PKGBUILD                                      |   22 ++++++++++++++++--
 glibc-2.20-do_ftell_wide-memleak.patch        |   12 +++++++++
 glibc-2.20-getifaddrs_internal-segfault.patch |   29 ++++++++++++++++++++++++
 glibc-2.20-linux-3.16-additions.patch         |   15 ++++++++++++
 4 files changed, 76 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-09-14 05:26:08 UTC (rev 118949)
+++ PKGBUILD	2014-09-14 08:30:52 UTC (rev 118950)
@@ -8,7 +8,7 @@
 _pkgbasename=glibc
 pkgname=lib32-$_pkgbasename
 pkgver=2.20
-pkgrel=1
+pkgrel=2
 pkgdesc="GNU C Library (32-bit)"
 arch=('x86_64')
 url="http://www.gnu.org/software/libc"
@@ -22,13 +22,31 @@
 options=('!strip' 'staticlibs' '!emptydirs')
 
 source=(http://ftp.gnu.org/gnu/libc/${_pkgbasename}-${pkgver}.tar.xz{,.sig}
+	glibc-2.20-getifaddrs_internal-segfault.patch
+	glibc-2.20-linux-3.16-additions.patch
+	glibc-2.20-do_ftell_wide-memleak.patch
         lib32-glibc.conf)
 md5sums=('948a6e06419a01bd51e97206861595b0'
          'SKIP'
+         '1c5d5c2017445c75dbc5c6d0c1e45ddb'
+         '8f1059f431b842e54b12bde689620df8'
+         'b50feeab78fa6ce0a8cfb41ee8dc1fd8'
          '6e052f1cb693d5d3203f50f9d4e8c33b')
-validpgpkeys=('F37CDAB708E65EA183FD1AF625EF0A436C2A4AFF')
+validpgpkeys=('F37CDAB708E65EA183FD1AF625EF0A436C2A4AFF')  # Carlos O'Donell
 
 prepare() {
+  cd ${srcdir}/glibc-${pkgver}
+
+  # fix segfault in getifaddrs_internal
+  # https://sourceware.org/ml/libc-alpha/2014-09/msg00312.html
+  patch -p1 -i $srcdir/glibc-2.20-getifaddrs_internal-segfault.patch
+  
+  # linux 3.16 additions - commit 0bd72468
+  patch -p1 -i $srcdir/glibc-2.20-linux-3.16-additions.patch
+  
+  # plug memory leak - commit 984c0ea9
+  patch -p1 -i $srcdir/glibc-2.20-do_ftell_wide-memleak.patch
+
   mkdir ${srcdir}/glibc-build
 }
 

Added: glibc-2.20-do_ftell_wide-memleak.patch
===================================================================
--- glibc-2.20-do_ftell_wide-memleak.patch	                        (rev 0)
+++ glibc-2.20-do_ftell_wide-memleak.patch	2014-09-14 08:30:52 UTC (rev 118950)
@@ -0,0 +1,12 @@
+diff --git a/libio/wfileops.c b/libio/wfileops.c
+index f123add..ebc06e8 100644
+--- a/libio/wfileops.c
++++ b/libio/wfileops.c
+@@ -711,6 +711,7 @@ do_ftell_wide (_IO_FILE *fp)
+ 		return WEOF;
+ 
+ 	      offset += outstop - out;
++	      free (out);
+ 	    }
+ 
+ 	  /* We don't trust _IO_read_end to represent the current file offset

Added: glibc-2.20-getifaddrs_internal-segfault.patch
===================================================================
--- glibc-2.20-getifaddrs_internal-segfault.patch	                        (rev 0)
+++ glibc-2.20-getifaddrs_internal-segfault.patch	2014-09-14 08:30:52 UTC (rev 118950)
@@ -0,0 +1,29 @@
+diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
+index 2c04e17..a47b2ed 100644
+--- a/sysdeps/unix/sysv/linux/ifaddrs.c
++++ b/sysdeps/unix/sysv/linux/ifaddrs.c
+@@ -770,20 +770,17 @@ getifaddrs_internal (struct ifaddrs **ifap)
+ 
+ 		  if (cp != NULL)
+ 		    {
+-		      char c;
+ 		      unsigned int preflen;
+ 
+-		      if ((max_prefixlen > 0) &&
+-			  (ifam->ifa_prefixlen > max_prefixlen))
++		      if (ifam->ifa_prefixlen > max_prefixlen)
+ 			preflen = max_prefixlen;
+ 		      else
+ 			preflen = ifam->ifa_prefixlen;
+ 
+-		      for (i = 0; i < ((preflen - 1) / 8); i++)
++		      for (i = 0; i < preflen / 8; i++)
+ 			*cp++ = 0xff;
+-		      c = 0xff;
+-		      c <<= ((128 - preflen) % 8);
+-		      *cp = c;
++		      if (preflen % 8)
++			*cp = 0xff << (8 - preflen % 8);
+ 		    }
+ 		}
+ 	    }

Added: glibc-2.20-linux-3.16-additions.patch
===================================================================
--- glibc-2.20-linux-3.16-additions.patch	                        (rev 0)
+++ glibc-2.20-linux-3.16-additions.patch	2014-09-14 08:30:52 UTC (rev 118950)
@@ -0,0 +1,15 @@
+diff --git a/sysdeps/gnu/netinet/udp.h b/sysdeps/gnu/netinet/udp.h
+index 32159cd..8cc1c60 100644
+--- a/sysdeps/gnu/netinet/udp.h
++++ b/sysdeps/gnu/netinet/udp.h
+@@ -78,6 +78,10 @@ struct udphdr
+ #define UDP_CORK	1	/* Never send partially complete segments.  */
+ #define UDP_ENCAP	100	/* Set the socket to accept
+ 				   encapsulated packets.  */
++#define UDP_NO_CHECK6_TX 101	/* Disable sending checksum for UDP
++				   over IPv6.  */
++#define UDP_NO_CHECK6_RX 102	/* Disable accepting checksum for UDP
++				   over IPv6.  */
+ 
+ /* UDP encapsulation types */
+ #define UDP_ENCAP_ESPINUDP_NON_IKE 1	/* draft-ietf-ipsec-nat-t-ike-00/01 */




More information about the arch-commits mailing list