mirror of
git://slackware.nl/current.git
synced 2025-01-08 05:24:13 +01:00
646a5c1cbf
a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded.
84 lines
2.3 KiB
Text
84 lines
2.3 KiB
Text
BASH PATCH REPORT
|
|
=================
|
|
|
|
Bash-Release: 4.4
|
|
Patch-ID: bash44-004
|
|
|
|
Bug-Reported-by: Christian Weisgerber <naddy@mips.inka.de>
|
|
Bug-Reference-ID: <20161101160302.GB54856@lorvorc.mips.inka.de>
|
|
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00004.html
|
|
|
|
Bug-Description:
|
|
|
|
There is a race condition that can result in bash referencing freed memory
|
|
when freeing data associated with the last process substitution.
|
|
|
|
Patch (apply with `patch -p0'):
|
|
|
|
*** ../bash-4.4/jobs.c 2016-08-23 16:38:44.000000000 -0400
|
|
--- jobs.c 2016-11-02 18:24:45.000000000 -0400
|
|
***************
|
|
*** 454,457 ****
|
|
--- 454,472 ----
|
|
}
|
|
|
|
+ void
|
|
+ discard_last_procsub_child ()
|
|
+ {
|
|
+ PROCESS *disposer;
|
|
+ sigset_t set, oset;
|
|
+
|
|
+ BLOCK_CHILD (set, oset);
|
|
+ disposer = last_procsub_child;
|
|
+ last_procsub_child = (PROCESS *)NULL;
|
|
+ UNBLOCK_CHILD (oset);
|
|
+
|
|
+ if (disposer)
|
|
+ discard_pipeline (disposer);
|
|
+ }
|
|
+
|
|
struct pipeline_saver *
|
|
alloc_pipeline_saver ()
|
|
*** ../bash-4.4/jobs.h 2016-04-27 10:35:51.000000000 -0400
|
|
--- jobs.h 2016-11-02 18:25:08.000000000 -0400
|
|
***************
|
|
*** 191,194 ****
|
|
--- 191,195 ----
|
|
extern void stop_making_children __P((void));
|
|
extern void cleanup_the_pipeline __P((void));
|
|
+ extern void discard_last_procsub_child __P((void));
|
|
extern void save_pipeline __P((int));
|
|
extern PROCESS *restore_pipeline __P((int));
|
|
*** ../bash-4.4/subst.c 2016-08-30 16:46:38.000000000 -0400
|
|
--- subst.c 2016-11-02 18:23:24.000000000 -0400
|
|
***************
|
|
*** 5809,5816 ****
|
|
#if defined (JOB_CONTROL)
|
|
if (last_procsub_child)
|
|
! {
|
|
! discard_pipeline (last_procsub_child);
|
|
! last_procsub_child = (PROCESS *)NULL;
|
|
! }
|
|
last_procsub_child = restore_pipeline (0);
|
|
#endif
|
|
--- 5834,5838 ----
|
|
#if defined (JOB_CONTROL)
|
|
if (last_procsub_child)
|
|
! discard_last_procsub_child ();
|
|
last_procsub_child = restore_pipeline (0);
|
|
#endif
|
|
*** ../bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
|
|
--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
|
|
***************
|
|
*** 26,30 ****
|
|
looks for to find the patch level (for the sccs version string). */
|
|
|
|
! #define PATCHLEVEL 3
|
|
|
|
#endif /* _PATCHLEVEL_H_ */
|
|
--- 26,30 ----
|
|
looks for to find the patch level (for the sccs version string). */
|
|
|
|
! #define PATCHLEVEL 4
|
|
|
|
#endif /* _PATCHLEVEL_H_ */
|