commit 006f210cc39724358803cd1d6649013f24cbabdc Author: Arkadiusz Miśkiewicz <ar...@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 <ma...@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 <drep...@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 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit