mirror of
				git://git.code.sf.net/p/cdesktopenv/code
				synced 2025-03-09 15:50:02 +00:00 
			
		
		
		
	Fix restoring DEBUG trap upon exiting virtual subshell
This trap failed to be restored correctly when being trapped in a subshell, causing corruption or a crash when restoring the parent shell environment's trap upon leaving the subshell. Thanks to Koichi Nakashima for the report and reproducer. src/cmd/ksh93/sh/fault.c: sh_sigreset(): - Fix an off-by-one error in the loop that restores the pseudosignal traps. src/cmd/ksh93/tests/basic.sh: - Test overwriting the main shell trap in a subshell for all pseudosignals. Makes progress on: https://github.com/ksh93/ksh/issues/155
This commit is contained in:
		
							parent
							
								
									ac8e702ef2
								
							
						
					
					
						commit
						2a835a2d8a
					
				
					 4 changed files with 23 additions and 2 deletions
				
			
		|  | @ -344,7 +344,7 @@ void	sh_sigreset(register int mode) | |||
| 			sh.sigflag[sig] = flag; | ||||
| 		} | ||||
| 	} | ||||
| 	for(sig=SH_DEBUGTRAP-1;sig>=0;sig--) | ||||
| 	for(sig=SH_DEBUGTRAP; sig>=0; sig--) | ||||
| 	{ | ||||
| 		if(trap=sh.st.trap[sig]) | ||||
| 		{ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue