[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r24357 - in /fsf/trunk/libc: ./ locale/ localedata/ localedata/locales/ sysdeps/posix/



Author: eglibc
Date: Fri Oct 25 00:01:53 2013
New Revision: 24357

Log:
Import glibc-mainline for 2013-10-25

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/locale/iso-639.def
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/locales/ja_JP
    fsf/trunk/libc/localedata/locales/ka_GE
    fsf/trunk/libc/localedata/locales/kk_KZ
    fsf/trunk/libc/localedata/locales/kl_GL
    fsf/trunk/libc/localedata/locales/kn_IN
    fsf/trunk/libc/localedata/locales/ko_KR
    fsf/trunk/libc/localedata/locales/kok_IN
    fsf/trunk/libc/localedata/locales/ks_IN
    fsf/trunk/libc/localedata/locales/ku_TR
    fsf/trunk/libc/localedata/locales/kw_GB
    fsf/trunk/libc/localedata/locales/ky_KG
    fsf/trunk/libc/localedata/locales/lg_UG
    fsf/trunk/libc/localedata/locales/lij_IT
    fsf/trunk/libc/localedata/locales/lt_LT
    fsf/trunk/libc/localedata/locales/lv_LV
    fsf/trunk/libc/sysdeps/posix/getaddrinfo.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Oct 25 00:01:53 2013
@@ -1,3 +1,21 @@
+2013-10-25  Siddhesh Poyarekar  <siddhesh@xxxxxxxxxx>
+
+	[BZ #16072]
+	* sysdeps/posix/getaddrinfo.c (gethosts): Allocate tmpbuf on
+	heap for large requests.
+
+2013-10-25  Aurelien Jarno  <aurelien@xxxxxxxxxxx>
+
+	[BZ #9954]
+	* sysdeps/posix/getaddrinfo.c (rfc3484_sort): do not assign native
+	result if the result has no associated interface.
+	* sysdeps/posix/getaddrinfo.c (getaddrinfo): correctly detect
+	interface for all 127.X.Y.Z addresses.
+
+2013-10-24  Chris Leonard  <cjl@xxxxxxxxxxxxx>
+
+	* locale/iso-639.def: Add Ligurian (lij)
+
 2013-10-21  OndÃÂej BÃÂlka  <neleai@xxxxxxxxx>
 
 	[BZ #15825]

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Oct 25 00:01:53 2013
@@ -15,7 +15,7 @@
   15734, 15735, 15736, 15748, 15749, 15754, 15760, 15764, 15797, 15825,
   15844, 15847, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887,
   15890, 15892, 15893, 15895, 15897, 15905, 15909, 15919, 15921, 15923,
-  15939, 15948, 15963, 15966, 15988, 16032, 16034, 16036, 16041.
+  15939, 15948, 15963, 15966, 15988, 16032, 16034, 16036, 16041, 16072.
 
 * CVE-2012-4412 The strcoll implementation caches indices and rules for
   large collation sequences to optimize multiple passes.  This cache
@@ -43,6 +43,9 @@
   aligned_alloc functions could allocate too few bytes or corrupt the
   heap when passed very large allocation size values (Bugzilla #15855,
   #15856, #15857).
+
+* CVE-2013-4458 Stack overflow in getaddrinfo with large number of results
+  for AF_INET6 has been fixed (Bugzilla #16072).
 
 * New locales: ak_GH, cmn_TW, hak_TW, lzh_TW, nan_TW, quz_PE, pap_AW, pap_CW,
   ar_SS.

Modified: fsf/trunk/libc/locale/iso-639.def
==============================================================================
--- fsf/trunk/libc/locale/iso-639.def (original)
+++ fsf/trunk/libc/locale/iso-639.def Fri Oct 25 00:01:53 2013
@@ -271,6 +271,7 @@
 DEFINE_LANGUAGE_CODE ("Latin", la, lat, lat)
 DEFINE_LANGUAGE_CODE ("Latvian", lv, lav, lav)
 DEFINE_LANGUAGE_CODE3 ("Lezghian", lez, lez)
+DEFINE_LANGUAGE_CODE3 ("Ligurian", lij, lij)
 DEFINE_LANGUAGE_CODE ("Limburgan; Limburger; Limburgish", li, lim, lim)
 DEFINE_LANGUAGE_CODE ("Lingala", ln, lin, lin)
 DEFINE_LANGUAGE_CODE3 ("Literary Chinese", lzh, lzh)

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Fri Oct 25 00:01:53 2013
@@ -1,3 +1,21 @@
+2013-10-24  Chris Leonard  <cjl@xxxxxxxxxxxxx>
+
+	* locales/ja_JP: Adjust language-code fields of LC_ADDRESS.
+	* locales/ka_GE: Likewise.
+	* locales/kk_KZ: Likewise.
+	* locales/kl_GL: Likewise.
+	* locales/kn_IN: Likewise.
+	* locales/ko_KR: Likewise.
+	* locales/kok_IN: Likewise.
+	* locales/ks_IN: Likewise.
+	* locales/ku_TR: Likewise.
+	* locales/kw_GB: Likewise.
+	* locales/ky_KG: Likewise.
+	* locales/lg_UG: Likewise.
+	* locales/lij_IT: Likewise.
+	* locales/lt_LT: Likewise.
+	* locales/lv_LV: Likewise.
+
 2013-10-13  Chris Leonard  <cjl@xxxxxxxxxxxxx>
 
 	* locales/he_IL: Adjust language-code fields of LC_ADDRESS.

Modified: fsf/trunk/libc/localedata/locales/ja_JP
==============================================================================
--- fsf/trunk/libc/localedata/locales/ja_JP (original)
+++ fsf/trunk/libc/localedata/locales/ja_JP Fri Oct 25 00:01:53 2013
@@ -15044,7 +15044,12 @@
 country_num 392
 % J
 country_car    "<U004A>"
-
+% ja
+lang_ab      "<U006A><U0061>"
+% jpn
+lang_term    "<U006A><U0070><U006E>"
+% jpn
+lang_lib    "<U006A><U0070><U006E>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/ka_GE
==============================================================================
--- fsf/trunk/libc/localedata/locales/ka_GE (original)
+++ fsf/trunk/libc/localedata/locales/ka_GE Fri Oct 25 00:01:53 2013
@@ -48,9 +48,12 @@
 country_car    "<U0047><U0045>"
 country_isbn "99928"
 % lang_name FIXME Georgian in Georgian
-lang_ab "ka"
-lang_term "kat"
-lang_lib "geo"
+% ka
+lang_ab      "<U006B><U0061>"
+% kat
+lang_term    "<U006B><U0061><U0074>"
+% geo
+lang_lib     "<U0067><U0065><U006F>"
 END LC_ADDRESS
 
 LC_COLLATE

Modified: fsf/trunk/libc/localedata/locales/kk_KZ
==============================================================================
--- fsf/trunk/libc/localedata/locales/kk_KZ (original)
+++ fsf/trunk/libc/localedata/locales/kk_KZ Fri Oct 25 00:01:53 2013
@@ -263,5 +263,10 @@
 <U004E><U0025><U0063><U0025><U004E>"
 % KZ
 country_car    "<U004B><U005A>"
-
+% kk
+lang_ab      "<U006B><U006B>"
+% kaz
+lang_term    "<U006B><U0061><U007A>"
+% kaz
+lang_lib    "<U006B><U0061><U007A>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/kl_GL
==============================================================================
--- fsf/trunk/libc/localedata/locales/kl_GL (original)
+++ fsf/trunk/libc/localedata/locales/kl_GL Fri Oct 25 00:01:53 2013
@@ -145,4 +145,10 @@
 country_num 304
 % GRO
 country_car  "<U0047><U0052><U004F>"
+% kl
+lang_ab      "<U006B><U006C>"
+% kal
+lang_term    "<U006B><U0061><U006C>"
+% kal
+lang_lib    "<U006B><U0061><U006C>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/kn_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/kn_IN (original)
+++ fsf/trunk/libc/localedata/locales/kn_IN Fri Oct 25 00:01:53 2013
@@ -221,7 +221,12 @@
 country_num 356
 % IND
 country_car    "<U0049><U004E><U0044>"
-
+% kn
+lang_ab      "<U006B><U006E>"
+% kan
+lang_term    "<U006B><U0061><U006E>"
+% kan
+lang_lib    "<U006B><U0061><U006E>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/ko_KR
==============================================================================
--- fsf/trunk/libc/localedata/locales/ko_KR (original)
+++ fsf/trunk/libc/localedata/locales/ko_KR Fri Oct 25 00:01:53 2013
@@ -6249,5 +6249,10 @@
 country_num 410
 % ROK
 country_car    "<U0052><U004F><U004B>"
-
+% ko
+lang_ab      "<U006B><U006F>"
+% kor
+lang_term    "<U006B><U006F><U0072>"
+% kor
+lang_lib    "<U006B><U006F><U0072>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/kok_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/kok_IN (original)
+++ fsf/trunk/libc/localedata/locales/kok_IN Fri Oct 25 00:01:53 2013
@@ -198,6 +198,10 @@
 country_num 356
 % IND
 country_car    "<U0049><U004E><U0044>"
+% kok
+lang_term    "<U006B><U006F><U006B>"
+% kok
+lang_lib    "<U006B><U006F><U006B>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/ks_IN
==============================================================================
--- fsf/trunk/libc/localedata/locales/ks_IN (original)
+++ fsf/trunk/libc/localedata/locales/ks_IN Fri Oct 25 00:01:53 2013
@@ -199,6 +199,12 @@
 country_num 356
 % IND
 country_car    "<U0049><U004E><U0044>"
+% ks
+lang_ab      "<U006B><U0073>"
+% kas
+lang_term    "<U006B><U0061><U0073>"
+% kas
+lang_lib    "<U006B><U0061><U0073>"
 END LC_ADDRESS
 
 

Modified: fsf/trunk/libc/localedata/locales/ku_TR
==============================================================================
--- fsf/trunk/libc/localedata/locales/ku_TR (original)
+++ fsf/trunk/libc/localedata/locales/ku_TR Fri Oct 25 00:01:53 2013
@@ -210,7 +210,10 @@
 country_car    "<U0054><U0052>"
 % "kurdi"
 lang_name   "<U006B><U0075><U0072><U0064><U0069>"
-lang_ab     "ku"
-lang_term   "kur"
-lang_lib    "kur"
+% ku
+lang_ab      "<U006B><U0075>"
+% kur
+lang_term    "<U006B><U0075><U0072>"
+% kur
+lang_lib     "<U006B><U0075><U0072>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/kw_GB
==============================================================================
--- fsf/trunk/libc/localedata/locales/kw_GB (original)
+++ fsf/trunk/libc/localedata/locales/kw_GB Fri Oct 25 00:01:53 2013
@@ -166,5 +166,10 @@
 country_num 826
 % GB
 country_car    "<U0047><U0042>"
-
+% kw
+lang_ab      "<U006B><U0077>"
+% cor
+lang_term    "<U0063><U006F><U0072>"
+% cor
+lang_lib    "<U0063><U006F><U0072>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/ky_KG
==============================================================================
--- fsf/trunk/libc/localedata/locales/ky_KG (original)
+++ fsf/trunk/libc/localedata/locales/ky_KG Fri Oct 25 00:01:53 2013
@@ -206,5 +206,10 @@
 %country_num 643
 % KS
 country_car    "<U004B><U0053>"
-
+% ky
+lang_ab      "<U006B><U0079>"
+% kir
+lang_term    "<U006B><U0069><U0072>"
+% kir
+lang_lib    "<U006B><U0069><U0072>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/lg_UG
==============================================================================
--- fsf/trunk/libc/localedata/locales/lg_UG (original)
+++ fsf/trunk/libc/localedata/locales/lg_UG Fri Oct 25 00:01:53 2013
@@ -332,5 +332,10 @@
 country_num 800
 % EAU
 country_car    "<U0045><U0041><U0055>"
-
+% lg
+lang_ab      "<U006C><U0067>"
+% lug
+lang_term    "<U006C><U0075><U0067>"
+% lug
+lang_lib    "<U006C><U0075><U0067>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/lij_IT
==============================================================================
--- fsf/trunk/libc/localedata/locales/lij_IT (original)
+++ fsf/trunk/libc/localedata/locales/lij_IT Fri Oct 25 00:01:53 2013
@@ -131,4 +131,8 @@
 country_num 380
 % I
 country_car    "<U0049>"
+% lij
+lang_term    "<U006C><U0069><U006A>"
+% lij
+lang_lib    "<U006C><U0069><U006A>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/lt_LT
==============================================================================
--- fsf/trunk/libc/localedata/locales/lt_LT (original)
+++ fsf/trunk/libc/localedata/locales/lt_LT Fri Oct 25 00:01:53 2013
@@ -2234,5 +2234,10 @@
 country_num 440
 % LT
 country_car    "<U004C><U0054>"
-
+% lt
+lang_ab      "<U006C><U0074>"
+% lit
+lang_term    "<U006C><U0069><U0074>"
+% lit
+lang_lib    "<U006C><U0069><U0074>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/localedata/locales/lv_LV
==============================================================================
--- fsf/trunk/libc/localedata/locales/lv_LV (original)
+++ fsf/trunk/libc/localedata/locales/lv_LV Fri Oct 25 00:01:53 2013
@@ -2226,5 +2226,10 @@
 country_num 428
 % LV
 country_car    "<U004C><U0056>"
-
+% lv
+lang_ab      "<U006C><U0076>"
+% lav
+lang_term    "<U006C><U0061><U0076>"
+% lav
+lang_lib    "<U006C><U0061><U0076>"
 END LC_ADDRESS

Modified: fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
==============================================================================
--- fsf/trunk/libc/sysdeps/posix/getaddrinfo.c (original)
+++ fsf/trunk/libc/sysdeps/posix/getaddrinfo.c Fri Oct 25 00:01:53 2013
@@ -197,7 +197,22 @@
 				&rc, &herrno, NULL, &localcanon));	      \
     if (rc != ERANGE || herrno != NETDB_INTERNAL)			      \
       break;								      \
-    tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen);		      \
+    if (!malloc_tmpbuf && __libc_use_alloca (alloca_used + 2 * tmpbuflen))    \
+      tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen, 2 * tmpbuflen,	      \
+				      alloca_used);			      \
+    else								      \
+      {									      \
+	char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL,		      \
+			      2 * tmpbuflen);				      \
+	if (newp == NULL)						      \
+	  {								      \
+	    result = -EAI_MEMORY;					      \
+	    goto free_and_return;					      \
+	  }								      \
+	tmpbuf = newp;							      \
+	malloc_tmpbuf = true;						      \
+	tmpbuflen = 2 * tmpbuflen;					      \
+      }									      \
   }									      \
   if (status == NSS_STATUS_SUCCESS && rc == 0)				      \
     h = &th;								      \
@@ -209,7 +224,8 @@
 	{								      \
 	  __set_h_errno (herrno);					      \
 	  _res.options |= old_res_options & RES_USE_INET6;		      \
-	  return -EAI_SYSTEM;						      \
+	  result = -EAI_SYSTEM;						      \
+	  goto free_and_return;						      \
 	}								      \
       if (herrno == TRY_AGAIN)						      \
 	no_data = EAI_AGAIN;						      \
@@ -1666,13 +1682,13 @@
 
 	      /* Fill in the results in all the records.  */
 	      for (int i = 0; i < src->nresults; ++i)
-		if (src->results[i].index == a1_index)
+		if (a1_index != -1 && src->results[i].index == a1_index)
 		  {
 		    assert (src->results[i].native == -1
 			    || src->results[i].native == a1_native);
 		    src->results[i].native = a1_native;
 		  }
-		else if (src->results[i].index == a2_index)
+		else if (a2_index != -1 && src->results[i].index == a2_index)
 		  {
 		    assert (src->results[i].native == -1
 			    || src->results[i].native == a2_native);
@@ -2532,7 +2548,14 @@
 			  tmp.addr[0] = 0;
 			  tmp.addr[1] = 0;
 			  tmp.addr[2] = htonl (0xffff);
-			  tmp.addr[3] = sinp->sin_addr.s_addr;
+			  /* Special case for lo interface, the source address
+			     being possibly different than the interface
+			     address. */
+			  if ((ntohl(sinp->sin_addr.s_addr) & 0xff000000)
+			      == 0x7f000000)
+			    tmp.addr[3] = htonl(0x7f000001);
+			  else
+			    tmp.addr[3] = sinp->sin_addr.s_addr;
 			}
 		      else
 			{

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits