bash32-043   [plain text]


			     BASH PATCH REPORT
			     =================

Bash-Release: 3.2
Patch-ID: bash32-043

Bug-Reported-by:	Morita Sho <morita-pub-en-debian@inz.sakura.ne.jp>
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_ */