Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu' -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I../bash -I../bash/include -I../bash/lib -g -O2 -Wall uname output: Linux balrog 2.6.37-balrog-1-00002-gaf41dc2 #2 SMP PREEMPT Tue Jan 18 11:16:08 EST 2011 x86_64 GNU/Linux Machine Type: x86_64-pc-linux-gnu
Bash Version: 4.1 Patch Level: 5 Release Status: release Description: Prompt expansion of \W sometimes produces garbage prompts. Repeat-By: $ PS1='\W$ ' ~$ cd /home hmee$ cd /proc pocc$ cd /lib32 li332$ Fix: In parse.y : decode_prompt_string() in the 'W' case, it uses strcpy to copy the basename of the path to the beginning of the string. For short strings, the src and dest args to strcpy may overlap which is not supported by strcpy. memmove should be used instead. change strcpy (t_string, t + 1); to memmove (t_string, t + 1, strlen(t + 1) + 1); (untested)