mirror of
				git://git.code.sf.net/p/cdesktopenv/code
				synced 2025-03-09 15:50:02 +00:00 
			
		
		
		
	Fix a fork bomb when vi is run from a script and sent Ctrl-Z (#73)
This bug was reported on the old mailing list: https://www.mail-archive.com/ast-developers@lists.research.att.com/msg00207.html A fork bomb can occur when SIGTSTP is sent to the vi editor. Vi must be launched from a script run with exec (tested with BusyBox vi, nvi and vim): $ cat /tmp/foo vi /tmp/bar echo end $ ksh $ chmod +x /tmp/foo $ exec /tmp/foo While in vi, send SIGTSTP using Ctrl-Z src/cmd/ksh93/sh/fault.c: - Only fork after Ctrl-Z if job control is available. The patch used checks 'job.jobcontrol' instead of 'SH_MONITOR': https://git.centos.org/rpms/ksh/blob/c8/f/SOURCES/ksh-20120801-forkbomb.patch
This commit is contained in:
		
							parent
							
								
									84e2f6d92f
								
							
						
					
					
						commit
						66c955bc8f
					
				
					 3 changed files with 7 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -519,7 +519,7 @@ void sh_exit(register int xno)
 | 
			
		|||
	if(pp && pp->mode>1)
 | 
			
		||||
		cursig = -1;
 | 
			
		||||
#ifdef SIGTSTP
 | 
			
		||||
	if(shp->trapnote&SH_SIGTSTP)
 | 
			
		||||
	if((shp->trapnote&SH_SIGTSTP) && job.jobcontrol)
 | 
			
		||||
	{
 | 
			
		||||
		/* ^Z detected by the shell */
 | 
			
		||||
		shp->trapnote = 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue