[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Missed save_parser_state() function call in pcomplete.c
From: |
werner |
Subject: |
Missed save_parser_state() function call in pcomplete.c |
Date: |
Wed, 4 Mar 2009 13:07:10 +0100 |
Configuration Information [Automatically generated, do not change]:
Machine: i586
OS: linux-gnu
Compiler: gcc -I/usr/src/packages/BUILD/bash-4.0
-L/usr/src/packages/BUILD/bash-4.0/../readline-6.0
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i586'
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i586-suse-linux-gnu'
-DCONF_VENDOR='suse' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL
-DHAVE_CONFIG_H -I. -I. -I./include -I./lib -O2 -march=i586 -mtune=i686
-fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
-fasynchronous-unwind-tables -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g -std=gnu89 -Wextra
-Wno-unprototyped-calls -Wno-switch-enum -Wno-unused-variable
-Wno-unused-parameter -ftree-loop-linear -pipe -fprofile-use
uname output: Linux boole 2.6.27.7-9-pae #1 SMP 2008-12-04 18:10:04 +0100 i686
i686 i386 GNU/Linux
Machine Type: i586-suse-linux-gnu
Bash Version: 4.0
Patch Level: 0
Release Status: release
Description:
It seems that my last patch for pcomplete.c is not fully applied.
The line
save_parser_state (pps);
is missed and leads to a memory corruption at the point where
restore_parser_state (pps) is called.
Repeat-By:
Simply use tab completion with a shell function for
tab completion fro the cd command.
Fix:
--- pcomplete.c
+++ pcomplete.c 2009-03-04 11:58:05.296254166 +0000
@@ -1032,6 +1032,7 @@ gen_shell_function_matches (cs, text, li
cmdlist = build_arg_list (funcname, text, lwords, cw);
pps = &ps;
+ save_parser_state (pps);
begin_unwind_frame ("gen-shell-function-matches");
add_unwind_protect (restore_parser_state, (char *)pps);
add_unwind_protect (dispose_words, (char *)cmdlist);
- Missed save_parser_state() function call in pcomplete.c,
werner <=