Patch level 33. Specfile and cvs cleanup.
This commit is contained in:
parent
bdb42f7333
commit
779eedaab4
@ -1,184 +0,0 @@
|
||||
diff -up bash-3.2/config.h.in.rng.patch bash-3.2/config.h.in
|
||||
--- bash-3.2/config.h.in.rng.patch 2007-08-20 13:42:49.000000000 +0200
|
||||
+++ bash-3.2/config.h.in 2007-08-20 13:42:49.000000000 +0200
|
||||
@@ -203,6 +203,8 @@
|
||||
|
||||
#define DEFAULT_MAIL_DIRECTORY "/var/spool/mail"
|
||||
|
||||
+#undef PATH_RANDOMDEV
|
||||
+
|
||||
/* Characteristics of the system's header files and libraries that affect
|
||||
the compilation environment. */
|
||||
|
||||
@@ -817,6 +819,10 @@
|
||||
/* Define if you have the wcwidth function. */
|
||||
#undef HAVE_WCWIDTH
|
||||
|
||||
+#undef HAVE_RANDOM
|
||||
+
|
||||
+#undef HAVE_SRANDOM
|
||||
+
|
||||
/* Presence of certain system include files. */
|
||||
|
||||
/* Define if you have the <arpa/inet.h> header file. */
|
||||
diff -up bash-3.2/configure.in.rng.patch bash-3.2/configure.in
|
||||
--- bash-3.2/configure.in.rng.patch 2007-08-20 13:42:49.000000000 +0200
|
||||
+++ bash-3.2/configure.in 2007-08-20 13:42:49.000000000 +0200
|
||||
@@ -111,6 +111,7 @@ AC_ARG_WITH(gnu-malloc, AC_HELP_STRING([
|
||||
AC_ARG_WITH(installed-readline, AC_HELP_STRING([--with-installed-readline], [use a version of the readline library that is already installed]), opt_with_installed_readline=$withval)
|
||||
AC_ARG_WITH(purecov, AC_HELP_STRING([--with-purecov], [configure to postprocess with pure coverage]), opt_purecov=$withval)
|
||||
AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
|
||||
+AC_ARG_WITH(random, AC_HELP_STRING([--with-randomdev=path], [use specified random device instead of /dev/urandom]), opt_randomdev=$withval)
|
||||
|
||||
if test "$opt_bash_malloc" = yes; then
|
||||
MALLOC_TARGET=malloc
|
||||
@@ -152,6 +153,15 @@ if test -z "${DEBUGGER_START_FILE}"; the
|
||||
DEBUGGER_START_FILE=${ac_default_prefix}/share/bashdb/bashdb-main.inc
|
||||
fi
|
||||
|
||||
+if test "$opt_randomdev" = yes -o -z "$opt_randomdev"; then
|
||||
+ opt_randomdev="/dev/urandom"
|
||||
+elif test "$opt_randomdev" = no; then
|
||||
+ opt_randomdev=
|
||||
+fi
|
||||
+if test -n "$opt_randomdev"; then
|
||||
+ AC_DEFINE_UNQUOTED(PATH_RANDOMDEV, "$opt_randomdev", [Random device path.])
|
||||
+fi
|
||||
+
|
||||
dnl optional shell features in config.h.in
|
||||
opt_minimal_config=no
|
||||
|
||||
@@ -708,6 +718,8 @@ AC_CHECK_FUNCS(bcopy bzero confstr fnmat
|
||||
setenv setlinebuf setlocale setvbuf siginterrupt strchr \
|
||||
sysconf tcgetattr times ttyname tzset unsetenv)
|
||||
|
||||
+AC_CHECK_FUNCS(random srandom)
|
||||
+
|
||||
AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
|
||||
AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
|
||||
AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
|
||||
diff -up bash-3.2/variables.c.rng.patch bash-3.2/variables.c
|
||||
--- bash-3.2/variables.c.rng.patch 2006-09-08 19:33:32.000000000 +0200
|
||||
+++ bash-3.2/variables.c 2007-08-20 16:16:56.000000000 +0200
|
||||
@@ -42,6 +42,11 @@
|
||||
#include "bashansi.h"
|
||||
#include "bashintl.h"
|
||||
|
||||
+#if defined (PATH_RANDOMDEV)
|
||||
+# include <errno.h>
|
||||
+# include "filecntl.h"
|
||||
+#endif
|
||||
+
|
||||
#include "shell.h"
|
||||
#include "flags.h"
|
||||
#include "execute_cmd.h"
|
||||
@@ -182,7 +187,8 @@ static SHELL_VAR *get_seconds __P((SHELL
|
||||
static SHELL_VAR *init_seconds_var __P((void));
|
||||
|
||||
static int brand __P((void));
|
||||
-static void sbrand __P((unsigned long)); /* set bash random number generator. */
|
||||
+static void sbrand __P((unsigned int)); /* set bash random number generator. */
|
||||
+static void seed_random __P((void)); /* seed the generator randomly */
|
||||
static SHELL_VAR *assign_random __P((SHELL_VAR *, char *, arrayind_t));
|
||||
static SHELL_VAR *get_random __P((SHELL_VAR *));
|
||||
|
||||
@@ -494,9 +500,6 @@ initialize_shell_variables (env, privmod
|
||||
}
|
||||
#endif /* HISTORY */
|
||||
|
||||
- /* Seed the random number generator. */
|
||||
- sbrand (dollar_dollar_pid + shell_start_time);
|
||||
-
|
||||
/* Handle some "special" variables that we may have inherited from a
|
||||
parent shell. */
|
||||
if (interactive_shell)
|
||||
@@ -1143,9 +1146,11 @@ init_seconds_var ()
|
||||
}
|
||||
|
||||
/* The random number seed. You can change this by setting RANDOM. */
|
||||
+#if !defined (HAVE_RANDOM)
|
||||
static unsigned long rseed = 1;
|
||||
+#endif
|
||||
static int last_random_value;
|
||||
-static int seeded_subshell = 0;
|
||||
+static int seeded_subshell = -1;
|
||||
|
||||
/* A linear congruential random number generator based on the example
|
||||
one in the ANSI C standard. This one isn't very good, but a more
|
||||
@@ -1155,28 +1160,58 @@ static int seeded_subshell = 0;
|
||||
static int
|
||||
brand ()
|
||||
{
|
||||
+#if defined (HAVE_RANDOM)
|
||||
+ unsigned int rseed;
|
||||
+ rseed = random();
|
||||
+#else
|
||||
rseed = rseed * 1103515245 + 12345;
|
||||
+#endif
|
||||
return ((unsigned int)((rseed >> 16) & 32767)); /* was % 32768 */
|
||||
}
|
||||
|
||||
/* Set the random number generator seed to SEED. */
|
||||
static void
|
||||
sbrand (seed)
|
||||
- unsigned long seed;
|
||||
+ unsigned int seed;
|
||||
{
|
||||
+#if defined (HAVE_RANDOM)
|
||||
+ srandom((unsigned int)seed);
|
||||
+#else
|
||||
rseed = seed;
|
||||
+#endif
|
||||
last_random_value = 0;
|
||||
}
|
||||
|
||||
+static void
|
||||
+seed_random ()
|
||||
+{
|
||||
+ unsigned int seed;
|
||||
+#if defined (PATH_RANDOMDEV)
|
||||
+ int fd;
|
||||
+ int rv;
|
||||
+ if ((rv = fd = open (PATH_RANDOMDEV, O_RDONLY)) != -1) {
|
||||
+ while ((rv = read(fd, &seed, sizeof(seed))) != sizeof(seed) && errno == EINTR);
|
||||
+ close (fd);
|
||||
+ }
|
||||
+ if (rv != sizeof(seed)) {
|
||||
+#endif
|
||||
+ struct timeval tv;
|
||||
+ gettimeofday(&tv, NULL);
|
||||
+ seed = (unsigned int)tv.tv_sec + (unsigned int)tv.tv_usec + getpid();
|
||||
+#if defined (PATH_RANDOMDEV)
|
||||
+ }
|
||||
+#endif
|
||||
+ sbrand (seed);
|
||||
+}
|
||||
+
|
||||
static SHELL_VAR *
|
||||
assign_random (self, value, unused)
|
||||
SHELL_VAR *self;
|
||||
char *value;
|
||||
arrayind_t unused;
|
||||
{
|
||||
- sbrand (strtoul (value, (char **)NULL, 10));
|
||||
- if (subshell_environment)
|
||||
- seeded_subshell = 1;
|
||||
+ sbrand ((unsigned int)strtoul (value, (char **)NULL, 10));
|
||||
+ seeded_subshell = subshell_level;
|
||||
return (self);
|
||||
}
|
||||
|
||||
@@ -1186,10 +1221,10 @@ get_random_number ()
|
||||
int rv;
|
||||
|
||||
/* Reset for command and process substitution. */
|
||||
- if (subshell_environment && seeded_subshell == 0)
|
||||
+ if (seeded_subshell < subshell_level)
|
||||
{
|
||||
- sbrand (rseed + getpid() + NOW);
|
||||
- seeded_subshell = 1;
|
||||
+ seed_random ();
|
||||
+ seeded_subshell = subshell_level;
|
||||
}
|
||||
|
||||
do
|
@ -1,11 +0,0 @@
|
||||
diff -up bash-4.0/assoc.c.key_alloc bash-4.0/assoc.c
|
||||
--- bash-4.0/assoc.c.key_alloc 2009-08-26 16:17:50.000000000 +0200
|
||||
+++ bash-4.0/assoc.c 2009-08-26 16:18:42.000000000 +0200
|
||||
@@ -77,6 +77,7 @@ assoc_insert (hash, key, value)
|
||||
b = hash_search (key, hash, HASH_CREATE);
|
||||
if (b == 0)
|
||||
return -1;
|
||||
+ b->key = savestring (key);
|
||||
FREE (b->data);
|
||||
b->data = value ? savestring (value) : (char *)0;
|
||||
return (0);
|
@ -1,39 +0,0 @@
|
||||
diff -up bash-4.0-rc1/error.h.no_debug_output bash-4.0-rc1/error.h
|
||||
--- bash-4.0-rc1/error.h.no_debug_output 2009-01-08 14:32:45.000000000 +0100
|
||||
+++ bash-4.0-rc1/error.h 2009-01-29 14:39:16.000000000 +0100
|
||||
@@ -51,8 +51,10 @@ extern void internal_error __P((const ch
|
||||
extern void internal_warning __P((const char *, ...)) __attribute__((__format__ (printf, 1, 2)));
|
||||
|
||||
/* Debugging functions, not enabled in released version. */
|
||||
+#if defined (DEBUG)
|
||||
extern void itrace __P((const char *, ...)) __attribute__ ((__format__ (printf, 1, 2)));
|
||||
extern void trace __P((const char *, ...)) __attribute__ ((__format__ (printf, 1, 2)));
|
||||
+#endif
|
||||
|
||||
/* Report an error having to do with command parsing or execution. */
|
||||
extern void command_error __P((const char *, int, int, int));
|
||||
diff -up bash-4.0-rc1/builtins/evalstring.c.no_debug_output bash-4.0-rc1/builtins/evalstring.c
|
||||
--- bash-4.0-rc1/builtins/evalstring.c.no_debug_output 2009-01-04 20:32:22.000000000 +0100
|
||||
+++ bash-4.0-rc1/builtins/evalstring.c 2009-01-29 14:39:16.000000000 +0100
|
||||
@@ -268,7 +268,9 @@ parse_and_execute (string, from_file, fl
|
||||
if ((subshell_environment & SUBSHELL_COMSUB) && comsub_ignore_return)
|
||||
{
|
||||
command->flags |= CMD_IGNORE_RETURN;
|
||||
+#if defined (DEBUG)
|
||||
itrace("parse_and_execute: turned on CMD_IGNORE_RETURN from comsub_ignore_return");
|
||||
+#endif
|
||||
}
|
||||
|
||||
#if defined (ONESHOT)
|
||||
diff -up bash-4.0-rc1/Makefile.in.no_debug_output bash-4.0-rc1/Makefile.in
|
||||
--- bash-4.0-rc1/Makefile.in.no_debug_output 2009-01-29 14:40:11.000000000 +0100
|
||||
+++ bash-4.0-rc1/Makefile.in 2009-01-29 14:40:54.000000000 +0100
|
||||
@@ -112,7 +112,7 @@ VENDOR = @host_vendor@
|
||||
MACHTYPE = @host@
|
||||
|
||||
# comment out for release
|
||||
-DEBUG = @DEBUG@
|
||||
+#DEBUG = @DEBUG@
|
||||
MALLOC_DEBUG = @MALLOC_DEBUG@
|
||||
|
||||
THIS_SH = $(BUILD_DIR)/$(Program)
|
@ -1,21 +0,0 @@
|
||||
diff -up bash-4.0-rc1/execute_cmd.c.shell_pipelines_handling bash-4.0-rc1/execute_cmd.c
|
||||
--- bash-4.0-rc1/execute_cmd.c.shell_pipelines_handling 2009-02-11 12:56:13.000000000 +0100
|
||||
+++ bash-4.0-rc1/execute_cmd.c 2009-02-11 12:57:20.000000000 +0100
|
||||
@@ -756,7 +756,7 @@ execute_command_internal (command, async
|
||||
the presence of a pipeline, and (until Posix changes things), a
|
||||
pipeline failure should not cause the parent shell to exit on an
|
||||
unsuccessful return status, even in the presence of errexit.. */
|
||||
- if (was_error_trap && ignore_return == 0 && invert == 0 && pipe_in == NO_PIPE && pipe_out == NO_PIPE && exec_result != EXECUTION_SUCCESS)
|
||||
+ if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
|
||||
{
|
||||
last_command_exit_value = exec_result;
|
||||
run_error_trap ();
|
||||
@@ -764,7 +764,7 @@ execute_command_internal (command, async
|
||||
|
||||
if (ignore_return == 0 && invert == 0 &&
|
||||
((posixly_correct && interactive == 0 && special_builtin_failed) ||
|
||||
- (exit_immediately_on_error && pipe_in == NO_PIPE && pipe_out == NO_PIPE && exec_result != EXECUTION_SUCCESS)))
|
||||
+ (exit_immediately_on_error && exec_result != EXECUTION_SUCCESS)))
|
||||
{
|
||||
last_command_exit_value = exec_result;
|
||||
run_pending_traps ();
|
@ -1,24 +0,0 @@
|
||||
diff -up bash-4.0/doc/bash.1.ulimit-m bash-4.0/doc/bash.1
|
||||
--- bash-4.0/doc/bash.1.ulimit-m 2009-01-21 16:31:19.000000000 +0100
|
||||
+++ bash-4.0/doc/bash.1 2009-01-21 16:31:19.000000000 +0100
|
||||
@@ -9044,7 +9044,7 @@ The maximum number of pending signals
|
||||
The maximum size that may be locked into memory
|
||||
.TP
|
||||
.B \-m
|
||||
-The maximum resident set size
|
||||
+The maximum resident set size (has no effect on Linux)
|
||||
.TP
|
||||
.B \-n
|
||||
The maximum number of open file descriptors (most systems do not
|
||||
diff -up bash-4.0/builtins/ulimit.def.ulimit-m bash-4.0/builtins/ulimit.def
|
||||
--- bash-4.0/builtins/ulimit.def.ulimit-m 2009-01-04 20:32:23.000000000 +0100
|
||||
+++ bash-4.0/builtins/ulimit.def 2009-01-21 16:36:12.000000000 +0100
|
||||
@@ -40,7 +40,7 @@ Options:
|
||||
-f the maximum size of files written by the shell and its children
|
||||
-i the maximum number of pending signals
|
||||
-l the maximum size a process may lock into memory
|
||||
- -m the maximum resident set size
|
||||
+ -m the maximum resident set size (has no effect on Linux)
|
||||
-n the maximum number of open file descriptors
|
||||
-p the pipe buffer size
|
||||
-q the maximum number of bytes in POSIX message queues
|
29
bash.spec
29
bash.spec
@ -1,11 +1,11 @@
|
||||
#%define beta_tag rc1
|
||||
%define patchlevel .28
|
||||
%define patchlevel .33
|
||||
%define baseversion 4.0
|
||||
|
||||
Version: %{baseversion}%{patchlevel}
|
||||
Name: bash
|
||||
Summary: The GNU Bourne Again shell
|
||||
Release: 3%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Group: System Environment/Shells
|
||||
License: GPLv2+
|
||||
Url: http://www.gnu.org/software/bash
|
||||
@ -47,6 +47,11 @@ Patch025: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-025
|
||||
Patch026: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-026
|
||||
Patch027: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-027
|
||||
Patch028: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-028
|
||||
Patch029: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-029
|
||||
Patch030: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-030
|
||||
Patch031: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-031
|
||||
Patch032: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-032
|
||||
Patch033: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-033
|
||||
|
||||
# Other patches
|
||||
Patch101: bash-2.02-security.patch
|
||||
@ -59,7 +64,6 @@ Patch107: bash-2.05b-pgrp_sync.patch
|
||||
Patch108: bash-2.05b-readline-oom.patch
|
||||
Patch109: bash-2.05b-xcc.patch
|
||||
Patch110: bash-3.2-audit.patch
|
||||
#Patch111: bash-3.2-rng.patch
|
||||
Patch112: bash-3.2-ssh_source_bash.patch
|
||||
Patch113: bash-bashbug.patch
|
||||
Patch114: bash-cond-rmatch.patch
|
||||
@ -67,12 +71,7 @@ Patch115: bash-infotags.patch
|
||||
Patch116: bash-requires.patch
|
||||
Patch117: bash-setlocale.patch
|
||||
Patch118: bash-tty-tests.patch
|
||||
#Patch119: bash-ulimit-m.patch
|
||||
#Patch120: bash-4.0-no_debug_output.patch
|
||||
#Patch121: bash-4.0-shell_pipelines_handling.patch
|
||||
|
||||
# 518644, alloc memory for key in associative array creation
|
||||
Patch122: bash-4.0-key_alloc.patch
|
||||
|
||||
# 484809, check if interp section is NOBITS
|
||||
Patch123: bash-4.0-nobits.patch
|
||||
@ -133,6 +132,11 @@ This package contains documentation files for %{name}.
|
||||
%patch026 -p0 -b .026
|
||||
%patch027 -p0 -b .027
|
||||
%patch028 -p0 -b .028
|
||||
%patch029 -p0 -b .029
|
||||
%patch030 -p0 -b .030
|
||||
%patch031 -p0 -b .031
|
||||
%patch032 -p0 -b .032
|
||||
%patch033 -p0 -b .033
|
||||
|
||||
# Other patches
|
||||
%patch101 -p1 -b .security
|
||||
@ -145,7 +149,6 @@ This package contains documentation files for %{name}.
|
||||
%patch108 -p1 -b .readline_oom
|
||||
%patch109 -p1 -b .xcc
|
||||
%patch110 -p1 -b .audit
|
||||
#%patch111 -p1 -b .rng
|
||||
%patch112 -p1 -b .ssh_source_bash
|
||||
%patch113 -p1 -b .bashbug
|
||||
%patch114 -p1 -b .cond_rmatch
|
||||
@ -153,10 +156,6 @@ This package contains documentation files for %{name}.
|
||||
%patch116 -p1 -b .requires
|
||||
%patch117 -p1 -b .setlocale
|
||||
%patch118 -p1 -b .tty_tests
|
||||
#%patch119 -p1 -b .ulimit-m
|
||||
#%patch120 -p1 -b .no_debug_output
|
||||
#%patch121 -p1 -b .pipelines_handling
|
||||
%patch122 -p1 -b .key_alloc
|
||||
%patch123 -p1 -b .nobits
|
||||
|
||||
echo %{version} > _distribution
|
||||
@ -324,6 +323,10 @@ fi
|
||||
#%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
|
||||
|
||||
%changelog
|
||||
* Wed Sep 16 2009 Roman Rakus <rrakus@redhat.com> - 4.0.33-1
|
||||
- Patch level 33
|
||||
- spec file cleanup
|
||||
|
||||
* Fri Sep 04 2009 Roman Rakus <rrakus@redhat.com> - 4.0.28-3
|
||||
- check if interp section is NOBITS
|
||||
- define Recycles pids
|
||||
|
106
bash40-029
Normal file
106
bash40-029
Normal file
@ -0,0 +1,106 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 4.0
|
||||
Patch-ID: bash40-029
|
||||
|
||||
Bug-Reported-by: Christian Krause <chkr@plauener.de>
|
||||
Bug-Reference-ID: Thu, 25 Jun 2009 21:47:59 +0200
|
||||
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-06/msg00078.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
Previous versions of bash accepted strings in the initial environment
|
||||
that were not valid shell variable assignments, usually because the
|
||||
names were invalid, but still created shell variables from them and
|
||||
passed them to child processes in the environment.
|
||||
|
||||
Bash-4.0 ignores those names and does not pass them to child processes.
|
||||
Some users and automated processes depend on invalid variables being
|
||||
ignored and passed to child processes.
|
||||
|
||||
This patch makes bash continue to ignore the invalid names, but pass
|
||||
them to child processes in the export environment.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-4.0-patched/variables.c 2009-01-04 14:32:46.000000000 -0500
|
||||
--- variables.c 2009-06-29 09:17:20.000000000 -0400
|
||||
***************
|
||||
*** 253,256 ****
|
||||
--- 255,259 ----
|
||||
static int visible_var __P((SHELL_VAR *));
|
||||
static int visible_and_exported __P((SHELL_VAR *));
|
||||
+ static int export_environment_candidate __P((SHELL_VAR *));
|
||||
static int local_and_exported __P((SHELL_VAR *));
|
||||
static int variable_in_context __P((SHELL_VAR *));
|
||||
***************
|
||||
*** 376,383 ****
|
||||
# endif
|
||||
#endif
|
||||
else if (legal_identifier (name))
|
||||
{
|
||||
temp_var = bind_variable (name, string, 0);
|
||||
! VSETATTR (temp_var, (att_exported | att_imported));
|
||||
array_needs_making = 1;
|
||||
}
|
||||
--- 379,393 ----
|
||||
# endif
|
||||
#endif
|
||||
+ #if 0
|
||||
else if (legal_identifier (name))
|
||||
+ #else
|
||||
+ else
|
||||
+ #endif
|
||||
{
|
||||
temp_var = bind_variable (name, string, 0);
|
||||
! if (legal_identifier (name))
|
||||
! VSETATTR (temp_var, (att_exported | att_imported));
|
||||
! else
|
||||
! VSETATTR (temp_var, (att_exported | att_imported | att_invisible));
|
||||
array_needs_making = 1;
|
||||
}
|
||||
***************
|
||||
*** 3083,3086 ****
|
||||
--- 3098,3111 ----
|
||||
}
|
||||
|
||||
+ /* Candidate variables for the export environment are either valid variables
|
||||
+ with the export attribute or invalid variables inherited from the initial
|
||||
+ environment and simply passed through. */
|
||||
+ static int
|
||||
+ export_environment_candidate (var)
|
||||
+ SHELL_VAR *var;
|
||||
+ {
|
||||
+ return (exported_p (var) && (invisible_p (var) == 0 || imported_p (var)));
|
||||
+ }
|
||||
+
|
||||
/* Return non-zero if VAR is a local variable in the current context and
|
||||
is exported. */
|
||||
***************
|
||||
*** 3439,3443 ****
|
||||
--- 3464,3472 ----
|
||||
SHELL_VAR **vars;
|
||||
|
||||
+ #if 0
|
||||
vars = map_over (visible_and_exported, vcxt);
|
||||
+ #else
|
||||
+ vars = map_over (export_environment_candidate, vcxt);
|
||||
+ #endif
|
||||
|
||||
if (vars == 0)
|
||||
*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
|
||||
--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 28
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 29
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
64
bash40-030
Normal file
64
bash40-030
Normal file
@ -0,0 +1,64 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 4.0
|
||||
Patch-ID: bash40-030
|
||||
|
||||
Bug-Reported-by: Henning Bekel <h.bekel@googlemail.com>
|
||||
Bug-Reference-ID: <7c6eacF262ctuU1@mid.individual.net>
|
||||
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-07/msg00054.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
A shell function invoked with `bind -x' is supposed to be able to move the
|
||||
cursor by setting READLINE_POINT. The effects of this assignment were
|
||||
sometimes ignored.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-4.0-patched/bashline.c 2009-01-08 09:29:24.000000000 -0500
|
||||
--- bashline.c 2009-07-16 14:13:41.000000000 -0400
|
||||
***************
|
||||
*** 3389,3393 ****
|
||||
register int i;
|
||||
intmax_t mi;
|
||||
- int save_point;
|
||||
sh_parser_state_t ps;
|
||||
char *cmd, *value, *l;
|
||||
--- 3389,3392 ----
|
||||
***************
|
||||
*** 3433,3437 ****
|
||||
VSETATTR (v, att_exported);
|
||||
l = value_cell (v);
|
||||
- save_point = rl_point;
|
||||
value = inttostr (rl_point, ibuf, sizeof (ibuf));
|
||||
v = bind_int_variable ("READLINE_POINT", value);
|
||||
--- 3432,3435 ----
|
||||
***************
|
||||
*** 3451,3455 ****
|
||||
{
|
||||
i = mi;
|
||||
! if (i != save_point)
|
||||
{
|
||||
rl_point = i;
|
||||
--- 3449,3453 ----
|
||||
{
|
||||
i = mi;
|
||||
! if (i != rl_point)
|
||||
{
|
||||
rl_point = i;
|
||||
*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
|
||||
--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 29
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 30
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
62
bash40-031
Normal file
62
bash40-031
Normal file
@ -0,0 +1,62 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 4.0
|
||||
Patch-ID: bash40-031
|
||||
|
||||
Bug-Reported-by: Roman Rakus <rrakus@redhat.com>
|
||||
Bug-Reference-ID: <4A93F6E9.4050401@redhat.com>
|
||||
Bug-Reference-URL:
|
||||
|
||||
Bug-Description:
|
||||
|
||||
An implicit assignment to index "0" of an existing array variable caused
|
||||
the shell to crash when the variable was unset.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-4.0-patched/arrayfunc.c 2009-03-08 21:24:39.000000000 -0400
|
||||
--- arrayfunc.c 2009-08-24 09:29:43.000000000 -0400
|
||||
***************
|
||||
*** 99,103 ****
|
||||
hash = assoc_create (0);
|
||||
if (oldval)
|
||||
! assoc_insert (hash, "0", oldval);
|
||||
|
||||
FREE (value_cell (var));
|
||||
--- 99,103 ----
|
||||
hash = assoc_create (0);
|
||||
if (oldval)
|
||||
! assoc_insert (hash, savestring ("0"), oldval);
|
||||
|
||||
FREE (value_cell (var));
|
||||
*** ../bash-4.0-patched/variables.c 2009-01-04 14:32:46.000000000 -0500
|
||||
--- variables.c 2009-08-24 09:29:58.000000000 -0400
|
||||
***************
|
||||
*** 2218,2222 ****
|
||||
else if (assoc_p (entry))
|
||||
{
|
||||
! assoc_insert (assoc_cell (entry), "0", newval);
|
||||
free (newval);
|
||||
}
|
||||
--- 2218,2222 ----
|
||||
else if (assoc_p (entry))
|
||||
{
|
||||
! assoc_insert (assoc_cell (entry), savestring ("0"), newval);
|
||||
free (newval);
|
||||
}
|
||||
*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
|
||||
--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 30
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 31
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
46
bash40-032
Normal file
46
bash40-032
Normal file
@ -0,0 +1,46 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 4.0
|
||||
Patch-ID: bash40-032
|
||||
|
||||
Bug-Reported-by: muszi@muszi.kite.hu
|
||||
Bug-Reference-ID: <20090826113159.18815.qmail@muszi.kite.hu>
|
||||
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-08/msg00090.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
Bash-4.0 has a memory leak when processing ${!prefix@}.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-4.0-patched/subst.c 2009-07-22 23:18:55.000000000 -0400
|
||||
--- subst.c 2009-08-26 23:08:51.000000000 -0400
|
||||
***************
|
||||
*** 6607,6611 ****
|
||||
}
|
||||
free (x);
|
||||
! free (xlist);
|
||||
free (temp1);
|
||||
*indexp = sindex;
|
||||
--- 6769,6773 ----
|
||||
}
|
||||
free (x);
|
||||
! dispose_words (xlist);
|
||||
free (temp1);
|
||||
*indexp = sindex;
|
||||
*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
|
||||
--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 31
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 32
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
50
bash40-033
Normal file
50
bash40-033
Normal file
@ -0,0 +1,50 @@
|
||||
BASH PATCH REPORT
|
||||
=================
|
||||
|
||||
Bash-Release: 4.0
|
||||
Patch-ID: bash40-033
|
||||
|
||||
Bug-Reported-by: Dr. Werner Fink <werner@suse.de>
|
||||
Bug-Reference-ID: <200907010951.n619p76I013912@boole.suse.de>
|
||||
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-07/msg00000.html
|
||||
|
||||
Bug-Description:
|
||||
|
||||
Bash-4.0 has a memory leak in the `read' builtin when the number of fields
|
||||
read is not the same as the number of variables passed as arguments.
|
||||
|
||||
Patch:
|
||||
|
||||
*** ../bash-4.0-patched/builtins/read.def 2009-03-08 21:24:45.000000000 -0400
|
||||
--- builtins/read.def 2009-07-01 15:32:42.000000000 -0400
|
||||
***************
|
||||
*** 764,768 ****
|
||||
tofree = input_string = t;
|
||||
else
|
||||
! input_string = strip_trailing_ifs_whitespace (t1, ifs_chars, saw_escape);
|
||||
}
|
||||
#endif
|
||||
--- 764,771 ----
|
||||
tofree = input_string = t;
|
||||
else
|
||||
! {
|
||||
! input_string = strip_trailing_ifs_whitespace (t1, ifs_chars, saw_escape);
|
||||
! tofree = t;
|
||||
! }
|
||||
}
|
||||
#endif
|
||||
*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500
|
||||
--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500
|
||||
***************
|
||||
*** 26,30 ****
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 32
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
||||
--- 26,30 ----
|
||||
looks for to find the patch level (for the sccs version string). */
|
||||
|
||||
! #define PATCHLEVEL 33
|
||||
|
||||
#endif /* _PATCHLEVEL_H_ */
|
Loading…
Reference in New Issue
Block a user