summaryrefslogtreecommitdiff
path: root/source/a/bash/bash-4.4-patches/bash44-014
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/bash/bash-4.4-patches/bash44-014')
-rw-r--r--source/a/bash/bash-4.4-patches/bash44-014104
1 files changed, 0 insertions, 104 deletions
diff --git a/source/a/bash/bash-4.4-patches/bash44-014 b/source/a/bash/bash-4.4-patches/bash44-014
deleted file mode 100644
index ad3c78ac..00000000
--- a/source/a/bash/bash-4.4-patches/bash44-014
+++ /dev/null
@@ -1,104 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.4
-Patch-ID: bash44-014
-
-Bug-Reported-by: Oyvind Hvidsten <oyvind.hvidsten@dhampir.no>
-Bug-Reference-ID: <c01b7049-925c-9409-d978-e59bf42591f4@dhampir.no>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-12/msg00023.html
-
-Bug-Description:
-
-Under some circumstances, functions that return via the `return' builtin do
-not clean up memory they allocated to keep track of FIFOs.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20171205/execute_cmd.c 2017-12-08 07:38:28.000000000 -0500
---- execute_cmd.c 2018-01-26 15:23:38.000000000 -0500
-***************
-*** 727,730 ****
---- 727,732 ----
- ofifo = num_fifos ();
- ofifo_list = copy_fifo_list ((int *)&osize);
-+ begin_unwind_frame ("internal_fifos");
-+ add_unwind_protect (xfree, ofifo_list);
- saved_fifo = 1;
- }
-***************
-*** 742,746 ****
- #if defined (PROCESS_SUBSTITUTION)
- if (saved_fifo)
-! free ((void *)ofifo_list);
- #endif
- return (last_command_exit_value = EXECUTION_FAILURE);
---- 744,751 ----
- #if defined (PROCESS_SUBSTITUTION)
- if (saved_fifo)
-! {
-! free ((void *)ofifo_list);
-! discard_unwind_frame ("internal_fifos");
-! }
- #endif
- return (last_command_exit_value = EXECUTION_FAILURE);
-***************
-*** 1061,1064 ****
---- 1066,1070 ----
- close_new_fifos ((char *)ofifo_list, osize);
- free ((void *)ofifo_list);
-+ discard_unwind_frame ("internal_fifos");
- }
- #endif
-***************
-*** 4978,4984 ****
- #endif
-
-! #if defined (PROCESS_SUBSTITUTION)
- ofifo = num_fifos ();
- ofifo_list = copy_fifo_list (&osize);
- #endif
-
---- 4984,4995 ----
- #endif
-
-! #if defined (PROCESS_SUBSTITUTION)
-! begin_unwind_frame ("saved_fifos");
-! /* If we return, we longjmp and don't get a chance to restore the old
-! fifo list, so we add an unwind protect to free it */
- ofifo = num_fifos ();
- ofifo_list = copy_fifo_list (&osize);
-+ if (ofifo_list)
-+ add_unwind_protect (xfree, ofifo_list);
- #endif
-
-***************
-*** 5064,5068 ****
- if (nfifo > ofifo)
- close_new_fifos (ofifo_list, osize);
-! free (ofifo_list);
- #endif
-
---- 5075,5081 ----
- if (nfifo > ofifo)
- close_new_fifos (ofifo_list, osize);
-! if (ofifo_list)
-! free (ofifo_list);
-! discard_unwind_frame ("saved_fifos");
- #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 13
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 14
-
- #endif /* _PATCHLEVEL_H_ */