[packages/glibc] - rel 16; fix gcc 8 build

arekm arekm at pld-linux.org
Mon Jul 30 21:49:28 CEST 2018


commit 006f210cc39724358803cd1d6649013f24cbabdc
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Jul 30 21:49:21 2018 +0200

    - rel 16; fix gcc 8 build

 glibc-nis-build.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
 glibc.spec            |  4 +++-
 2 files changed, 64 insertions(+), 1 deletion(-)
---
diff --git a/glibc.spec b/glibc.spec
index 09c5d6a..078c90a 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -41,7 +41,7 @@ Summary(tr.UTF-8):	GNU libc
 Summary(uk.UTF-8):	GNU libc версії
 Name:		glibc
 Version:	%{core_version}
-Release:	15
+Release:	16
 Epoch:		6
 License:	LGPL v2.1+
 Group:		Libraries
@@ -72,6 +72,7 @@ Patch8:		%{name}-missing-nls.patch
 Patch9:		%{name}-nss_include_dirs.patch
 Patch10:	%{name}-info.patch
 Patch11:	%{name}-autoconf.patch
+Patch12:	glibc-nis-build.patch
 
 Patch14:	%{name}-sparc-errno_fix.patch
 Patch15:	%{name}-new-charsets.patch
@@ -965,6 +966,7 @@ exit 1
 
 %patch10 -p1
 %patch11 -p1
+%patch12 -p1
 
 %patch14 -p0
 %patch15 -p1
diff --git a/glibc-nis-build.patch b/glibc-nis-build.patch
new file mode 100644
index 0000000..47bc6d3
--- /dev/null
+++ b/glibc-nis-build.patch
@@ -0,0 +1,61 @@
+commit 780684eb04298977bc411ebca1eadeeba4877833
+Author: Maciej W. Rozycki <macro at mips.com>
+Date:   Wed Jun 27 21:12:16 2018 +0100
+
+    nisplus: Correct pwent parsing issue and resulting build error [BZ #23266]
+    
+    Copy and null-terminate NIS+ password file UID and GID entries whose
+    length is non-zero and are not terminated, in addition to empty ones,
+    fixing a bug and a compilation issue causing an error with GCC 8:
+    
+    nss_nisplus/nisplus-parser.c: In function '_nss_nisplus_parse_pwent':
+    nss_nisplus/nisplus-parser.c:90:7: error: 'strncpy' destination unchanged after copying no bytes [-Werror=stringop-truncation]
+           strncpy (first_unused, numstr, len);
+           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    nss_nisplus/nisplus-parser.c:106:7: error: 'strncpy' destination unchanged after copying no bytes [-Werror=stringop-truncation]
+           strncpy (first_unused, numstr, len);
+           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    
+    introduced with commit ac05397075f6:
+    
+    commit ac05397075f621cfdbe1db527c96167a58b6d18e
+    Author: Ulrich Drepper <drepper at redhat.com>
+    Date:   Sun Apr 30 07:01:26 2006 +0000
+    
+            * nis/nss_nisplus/nisplus-parser.c: Minor optimizations and
+            cleanups.  Avoid copying data if it can be used in the old place.
+    
+    (no mailing list reference available).  Obviously regardless of the
+    recently added compiler diagnostics causing a build error this code has
+    been long non-functional, so I guess NIS+ servers have been supplying
+    strings that are non-empty and have already been null-terminated.
+    Which in turn made it unnecessary to make a null-terminated copy,
+    masking this bug.
+    
+            [BZ #23266]
+            * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_pwent):
+            Copy and null-terminate entries that are not terminated, in
+            addition to empty ones.
+
+diff --git a/nis/nss_nisplus/nisplus-parser.c b/nis/nss_nisplus/nisplus-parser.c
+index 8dc021e73d..d2b06334c2 100644
+--- a/nis/nss_nisplus/nisplus-parser.c
++++ b/nis/nss_nisplus/nisplus-parser.c
+@@ -82,7 +82,7 @@ _nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw,
+ 
+   char *numstr = NISOBJVAL (2, obj);
+   len = NISOBJLEN (2, obj);
+-  if (len == 0 && numstr[len - 1] != '\0')
++  if (len == 0 || numstr[len - 1] != '\0')
+     {
+       if (len >= room_left)
+ 	goto no_more_room;
+@@ -98,7 +98,7 @@ _nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw,
+ 
+   numstr = NISOBJVAL (3, obj);
+   len = NISOBJLEN (3, obj);
+-  if (len == 0 && numstr[len - 1] != '\0')
++  if (len == 0 || numstr[len - 1] != '\0')
+     {
+       if (len >= room_left)
+ 	goto no_more_room;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/glibc.git/commitdiff/006f210cc39724358803cd1d6649013f24cbabdc



More information about the pld-cvs-commit mailing list