Dr. Werner Fink 2010-04-12 09:37:38 +00:00 committed by Git OBS Bridge
parent 1c7f071deb
commit dcc1305c79
3 changed files with 25 additions and 0 deletions

18
bash-4.1-array.dif Normal file
View File

@ -0,0 +1,18 @@
Andreas Schwab <schwab@linux-m68k.org> writes:
> $ declare -A a=b; unset a
> *** glibc detected *** /bin/bash: free(): invalid pointer: 0x10091644 ***
And the obvious patch:
--- builtins/declare.def
+++ builtins/declare.def 2010-04-09 17:20:51.000000000 +0000
@@ -512,7 +512,7 @@ declare_internal (list, local_var)
{
/* let bind_{array,assoc}_variable take care of this. */
if (assoc_p (var))
- bind_assoc_variable (var, name, "0", value, aflags);
+ bind_assoc_variable (var, name, savestring ("0"), value, aflags);
else
bind_array_variable (name, 0, value, aflags);
}

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Apr 12 11:36:30 CEST 2010 - werner@suse.de
- Add fix for memory double free in array handling
-------------------------------------------------------------------
Tue Apr 6 15:27:24 CEST 2010 - werner@suse.de

View File

@ -65,6 +65,7 @@ Patch30: readline-6.1-destdir.patch
Patch40: bash-4.1-bash.bashrc.dif
Patch41: bash-4.1-intr.dif
Patch42: bash-4.1-non_void.patch
Patch43: bash-4.1-array.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global _sysconfdir /etc
%global _incdir %{_includedir}
@ -310,6 +311,7 @@ unset p
%patch40 -p0 -b .bashrc
%patch41 -p0 -b .intr
%patch42 -p0 -b .non_void
%patch43 -p0 -b .array
%patch0 -p0
cd ../readline-%{rl_vers}
for p in ../readline-%{rl_vers}-patches/*; do