wok-6.x rev 17553
glibc: CVE-2015-0235 fix (again)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jan 30 16:34:23 2015 +0100 (2015-01-30) |
parents | dfef8de3d270 |
children | e71e1d4832ac |
files | enna/receipt glibc/stuff/glibc-2.14.1-CVE-2015-0235.patch |
line diff
1.1 --- a/enna/receipt Fri Jan 30 10:17:37 2015 +0100 1.2 +++ b/enna/receipt Fri Jan 30 16:34:23 2015 +0100 1.3 @@ -90,7 +90,7 @@ 1.4 1.5 post_install() 1.6 { 1.7 - for f in $(find /usr/lib/ -name "*ver-svn-05*" ! -path */enlightenment/*); do 1.8 - ln -s $f $(echo $f|sed s/-05/-03/); 1.9 + for f in $(cd $1/ ; find usr/lib/ -name "*ver-svn-05*" ! -path */enlightenment/*); do 1.10 + ln -s /$f /$(echo $f|sed s/-05/-03/); 1.11 done 1.12 }
2.1 --- a/glibc/stuff/glibc-2.14.1-CVE-2015-0235.patch Fri Jan 30 10:17:37 2015 +0100 2.2 +++ b/glibc/stuff/glibc-2.14.1-CVE-2015-0235.patch Fri Jan 30 16:34:23 2015 +0100 2.3 @@ -14,7 +14,15 @@ 2.4 return -1; 2.5 } 2.6 2.7 -@@ -90,8 +93,9 @@ 2.8 +@@ -84,14 +87,16 @@ 2.9 + } 2.10 + 2.11 + size_needed = (sizeof (*host_addr) 2.12 +- + sizeof (*h_addr_ptrs) + strlen (name) + 1); 2.13 ++ + sizeof (*h_addr_ptrs) 2.14 ++ + sizeof (*h_alias_ptr) + strlen (name) + 1); 2.15 + 2.16 + if (buffer_size == NULL) 2.17 { 2.18 if (buflen < size_needed) 2.19 { 2.20 @@ -25,7 +33,7 @@ 2.21 __set_errno (ERANGE); 2.22 goto done; 2.23 } 2.24 -@@ -110,7 +114,7 @@ 2.25 +@@ -110,7 +115,7 @@ 2.26 *buffer_size = 0; 2.27 __set_errno (save); 2.28 if (h_errnop != NULL) 2.29 @@ -34,7 +42,7 @@ 2.30 *result = NULL; 2.31 goto done; 2.32 } 2.33 -@@ -150,7 +154,9 @@ 2.34 +@@ -150,7 +155,9 @@ 2.35 if (! ok) 2.36 { 2.37 *h_errnop = HOST_NOT_FOUND; 2.38 @@ -45,7 +53,7 @@ 2.39 *result = NULL; 2.40 goto done; 2.41 } 2.42 -@@ -202,15 +208,6 @@ 2.43 +@@ -202,15 +209,6 @@ 2.44 2.45 if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':') 2.46 { 2.47 @@ -61,7 +69,7 @@ 2.48 switch (af) 2.49 { 2.50 default: 2.51 -@@ -226,7 +223,10 @@ 2.52 +@@ -226,7 +224,10 @@ 2.53 /* This is not possible. We cannot represent an IPv6 address 2.54 in an `struct in_addr' variable. */ 2.55 *h_errnop = HOST_NOT_FOUND; 2.56 @@ -73,7 +81,7 @@ 2.57 goto done; 2.58 2.59 case AF_INET6: 2.60 -@@ -234,42 +234,6 @@ 2.61 +@@ -234,42 +235,6 @@ 2.62 break; 2.63 } 2.64 2.65 @@ -116,7 +124,7 @@ 2.66 for (cp = name;; ++cp) 2.67 { 2.68 if (!*cp) 2.69 -@@ -282,7 +246,9 @@ 2.70 +@@ -282,7 +247,9 @@ 2.71 if (inet_pton (AF_INET6, name, host_addr) <= 0) 2.72 { 2.73 *h_errnop = HOST_NOT_FOUND; 2.74 @@ -127,3 +135,15 @@ 2.75 *result = NULL; 2.76 goto done; 2.77 } 2.78 +--- glibc-2.14.1/nss/getXXbyYY_r.c 2.79 ++++ glibc-2.14.1/nss/getXXbyYY_r.c 2.80 +@@ -180,6 +180,9 @@ 2.81 + case -1: 2.82 + return errno; 2.83 + case 1: 2.84 ++#ifdef NEED_H_ERRNO 2.85 ++ any_service = true; 2.86 ++#endif 2.87 + goto done; 2.88 + } 2.89 + #endif