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