summaryrefslogtreecommitdiff
path: root/source/l/glibc/patches
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2019-09-10 21:28:36 +0000
committerEric Hameleers <alien@slackware.com>2019-09-11 08:59:49 +0200
commit5ff08990e972ccd99e36e94e44746710b95adba4 (patch)
tree04a09ed3f52ba082354d61ba078cc9f12d3444ae /source/l/glibc/patches
parentf58aff2430624d43f64162ea66101f0ed804755f (diff)
downloadcurrent-5ff08990e972ccd99e36e94e44746710b95adba4.tar.gz
Tue Sep 10 21:28:36 UTC 201920190910212836
a/glibc-solibs-2.30-x86_64-1.txz: Upgraded. a/kernel-firmware-20190909_6c6918a-noarch-1.txz: Upgraded. a/kernel-generic-4.19.72-x86_64-1.txz: Upgraded. a/kernel-huge-4.19.72-x86_64-1.txz: Upgraded. a/kernel-modules-4.19.72-x86_64-1.txz: Upgraded. d/kernel-headers-4.19.72-x86-1.txz: Upgraded. k/kernel-source-4.19.72-noarch-1.txz: Upgraded. l/gdk-pixbuf2-2.38.2-x86_64-1.txz: Upgraded. l/glibc-2.30-x86_64-1.txz: Upgraded. l/glibc-i18n-2.30-x86_64-1.txz: Upgraded. l/glibc-profile-2.30-x86_64-1.txz: Upgraded. n/libmilter-8.15.2-x86_64-3.txz: Rebuilt. Use gethostbyname2() since RES_USE_INET6 is removed in glibc-2.30. n/libqmi-1.22.6-x86_64-1.txz: Upgraded. n/postfix-3.4.6-x86_64-2.txz: Rebuilt. Patched to fix removed macros in glibc-2.30. n/yptools-2.14-x86_64-12.txz: Rebuilt. Patched ypbind-mt for gettid() included in glibc-2.30. xap/blackbox-0.75-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source/l/glibc/patches')
-rw-r--r--source/l/glibc/patches/glibc.8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29.patch40
-rw-r--r--source/l/glibc/patches/glibc.b0f6679bcd738ea244a14acd879d974901e56c8e.patch28
-rw-r--r--source/l/glibc/patches/glibc.b6d2c4475d5abc05dd009575b90556bdd3c78ad0.patch37
-rw-r--r--source/l/glibc/patches/glibc.e1df30fbc2e2167a982c0e77a7ebee28f4dd0800.patch50
4 files changed, 155 insertions, 0 deletions
diff --git a/source/l/glibc/patches/glibc.8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29.patch b/source/l/glibc/patches/glibc.8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29.patch
new file mode 100644
index 00000000..2dbdbd9c
--- /dev/null
+++ b/source/l/glibc/patches/glibc.8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29.patch
@@ -0,0 +1,40 @@
+From 8a80ee5e2bab17a1f8e1e78fab5c33ac7efa8b29 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 21 Aug 2019 09:25:22 -0700
+Subject: [PATCH] Fix bad pointer / leak in regex code
+
+This was found by Coverity (CID 1484201). [BZ#24844]
+* posix/regex_internal.c (create_cd_newstate): Fix use of bad
+pointer and/or memory leak when storage is exhausted.
+
+diff --git a/posix/regex_internal.c b/posix/regex_internal.c
+index 9004ce8..f53ded9 100644
+--- a/posix/regex_internal.c
++++ b/posix/regex_internal.c
+@@ -1716,15 +1716,19 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
+ {
+ if (newstate->entrance_nodes == &newstate->nodes)
+ {
+- newstate->entrance_nodes = re_malloc (re_node_set, 1);
+- if (__glibc_unlikely (newstate->entrance_nodes == NULL))
++ re_node_set *entrance_nodes = re_malloc (re_node_set, 1);
++ if (__glibc_unlikely (entrance_nodes == NULL))
+ {
+ free_state (newstate);
+ return NULL;
+ }
++ newstate->entrance_nodes = entrance_nodes;
+ if (re_node_set_init_copy (newstate->entrance_nodes, nodes)
+ != REG_NOERROR)
+- return NULL;
++ {
++ free_state (newstate);
++ return NULL;
++ }
+ nctx_nodes = 0;
+ newstate->has_constraint = 1;
+ }
+--
+2.9.3
+
+
diff --git a/source/l/glibc/patches/glibc.b0f6679bcd738ea244a14acd879d974901e56c8e.patch b/source/l/glibc/patches/glibc.b0f6679bcd738ea244a14acd879d974901e56c8e.patch
new file mode 100644
index 00000000..24c22a39
--- /dev/null
+++ b/source/l/glibc/patches/glibc.b0f6679bcd738ea244a14acd879d974901e56c8e.patch
@@ -0,0 +1,28 @@
+From b0f6679bcd738ea244a14acd879d974901e56c8e Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 1 Aug 2019 14:06:24 +0200
+Subject: [PATCH] malloc: Remove unwanted leading whitespace in malloc_info [BZ
+ #24867]
+
+It was introduced in commit 6c8dbf00f536d78b1937b5af6f57be47fd376344
+("Reformat malloc to gnu style.").
+
+Reviewed-by: Carlos O'Donell <carlos@redhat.com>
+
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 00ce48c..343d89f 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -5491,7 +5491,7 @@ __malloc_info (int options, FILE *fp)
+
+ for (size_t i = 0; i < nsizes; ++i)
+ if (sizes[i].count != 0 && i != NFASTBINS)
+- fprintf (fp, " \
++ fprintf (fp, "\
+ <size from=\"%zu\" to=\"%zu\" total=\"%zu\" count=\"%zu\"/>\n",
+ sizes[i].from, sizes[i].to, sizes[i].total, sizes[i].count);
+
+--
+2.9.3
+
+
diff --git a/source/l/glibc/patches/glibc.b6d2c4475d5abc05dd009575b90556bdd3c78ad0.patch b/source/l/glibc/patches/glibc.b6d2c4475d5abc05dd009575b90556bdd3c78ad0.patch
new file mode 100644
index 00000000..b28c7943
--- /dev/null
+++ b/source/l/glibc/patches/glibc.b6d2c4475d5abc05dd009575b90556bdd3c78ad0.patch
@@ -0,0 +1,37 @@
+From b6d2c4475d5abc05dd009575b90556bdd3c78ad0 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
+Date: Thu, 8 Aug 2019 22:02:27 +0200
+Subject: [PATCH] malloc: Fix missing accounting of top chunk in malloc_info
+ [BZ #24026]
+
+Fixes `<total type="rest" size="..."> incorrectly showing as 0 most
+of the time.
+
+The rest value being wrong is significant because to compute the
+actual amount of memory handed out via malloc, the user must subtract
+it from <system type="current" size="...">. That result being wrong
+makes investigating memory fragmentation issues like
+<https://bugzilla.redhat.com/show_bug.cgi?id=843478> close to
+impossible.
+
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 343d89f..0e65d63 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -5406,6 +5406,12 @@ __malloc_info (int options, FILE *fp)
+
+ __libc_lock_lock (ar_ptr->mutex);
+
++ /* Account for top chunk. The top-most available chunk is
++ treated specially and is never in any bin. See "initial_top"
++ comments. */
++ avail = chunksize (ar_ptr->top);
++ nblocks = 1; /* Top always exists. */
++
+ for (size_t i = 0; i < NFASTBINS; ++i)
+ {
+ mchunkptr p = fastbin (ar_ptr, i);
+--
+2.9.3
+
+
diff --git a/source/l/glibc/patches/glibc.e1df30fbc2e2167a982c0e77a7ebee28f4dd0800.patch b/source/l/glibc/patches/glibc.e1df30fbc2e2167a982c0e77a7ebee28f4dd0800.patch
new file mode 100644
index 00000000..d5dabb4a
--- /dev/null
+++ b/source/l/glibc/patches/glibc.e1df30fbc2e2167a982c0e77a7ebee28f4dd0800.patch
@@ -0,0 +1,50 @@
+From e1df30fbc2e2167a982c0e77a7ebee28f4dd0800 Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Thu, 25 Jul 2019 11:22:17 -0300
+Subject: [PATCH] Get new entropy on each attempt __gen_tempname (BZ #15813)
+
+This is missing bit for fully fix BZ#15813 (the other two were fixed
+by 359653aaacad463).
+
+Checked on x86_64-linux-gnu.
+
+ [BZ #15813]
+ sysdeps/posix/tempname.c (__gen_tempname): get entrypy on each
+ attempt.
+
+diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c
+index de34694..310df3c 100644
+--- a/sysdeps/posix/tempname.c
++++ b/sysdeps/posix/tempname.c
+@@ -186,7 +186,6 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+ {
+ int len;
+ char *XXXXXX;
+- uint64_t value;
+ unsigned int count;
+ int fd = -1;
+ int save_errno = errno;
+@@ -218,13 +217,13 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+ /* This is where the Xs start. */
+ XXXXXX = &tmpl[len - 6 - suffixlen];
+
+- /* Get some more or less random data. */
+- RANDOM_BITS (value);
+- value ^= (uint64_t)__getpid () << 32;
+-
+- for (count = 0; count < attempts; value += 7777, ++count)
++ uint64_t pid = (uint64_t) __getpid () << 32;
++ for (count = 0; count < attempts; ++count)
+ {
+- uint64_t v = value;
++ uint64_t v;
++ /* Get some more or less random data. */
++ RANDOM_BITS (v);
++ v ^= pid;
+
+ /* Fill in the random bits. */
+ XXXXXX[0] = letters[v % 62];
+--
+2.9.3
+
+