BASH PATCH REPORT ================= Bash-Release: 3.2 Patch-ID: bash32-043 Bug-Reported-by: Morita Sho Bug-Reference-ID: Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478096 Bug-Description: Side effects caused by setting function-local versions of variables bash handles specially persisted after the function returned. Patch: *** ../bash-3.2-patched/variables.c 2007-08-25 13:47:05.000000000 -0400 --- variables.c 2008-11-09 17:47:31.000000000 -0500 *************** *** 3459,3465 **** var->attributes &= ~(att_tempvar|att_propagate); else ! shell_variables->flags |= VC_HASTMPVAR; v->attributes |= var->attributes; } dispose_variable (var); --- 3771,3779 ---- var->attributes &= ~(att_tempvar|att_propagate); else ! shell_variables->flags |= VC_HASTMPVAR; v->attributes |= var->attributes; } + else + stupidly_hack_special_variables (var->name); /* XXX */ dispose_variable (var); *************** *** 3548,3551 **** --- 3862,3867 ---- v->attributes |= var->attributes; } + else + stupidly_hack_special_variables (var->name); /* XXX */ dispose_variable (var); *** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 --- patchlevel.h Mon Oct 16 14:22:54 2006 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 42 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 43 #endif /* _PATCHLEVEL_H_ */