You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							58 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							58 lines
						
					
					
						
							1.5 KiB
						
					
					
				| 			     BASH PATCH REPORT | |
| 			     ================= | |
| 
 | |
| Bash-Release:	5.0 | |
| Patch-ID:	bash50-016 | |
| 
 | |
| Bug-Reported-by:	sunnycemetery@gmail.com | |
| Bug-Reference-ID:	<20190316041534.GB22884@midnight> | |
| Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html | |
| 
 | |
| Bug-Description: | |
| 
 | |
| Bash waits too long to reap /dev/fd process substitutions used as redirections | |
| with loops and group commands, which can lead to file descriptor exhaustion. | |
| 
 | |
| Patch (apply with `patch -p0'): | |
| 
 | |
| *** ../bash-5.0-patched/execute_cmd.c	2019-04-19 15:46:36.000000000 -0400 | |
| --- execute_cmd.c	2019-07-01 16:45:49.000000000 -0400 | |
| *************** | |
| *** 1104,1107 **** | |
| --- 1085,1104 ---- | |
|         discard_unwind_frame ("internal_fifos"); | |
|       } | |
| + # if defined (HAVE_DEV_FD) | |
| +   /* Reap process substitutions at the end of loops */ | |
| +   switch (command->type) | |
| +     { | |
| +     case cm_while: | |
| +     case cm_until: | |
| +     case cm_for: | |
| +     case cm_group: | |
| + #    if defined (ARITH_FOR_COMMAND) | |
| +     case cm_arith_for: | |
| + #    endif | |
| +       reap_procsubs (); | |
| +     default: | |
| +       break; | |
| +     } | |
| + #  endif /* HAVE_DEV_FD */ | |
|   #endif | |
|    | |
| 
 | |
| *** ../bash-5.0/patchlevel.h	2016-06-22 14:51:03.000000000 -0400 | |
| --- patchlevel.h	2016-10-01 11:01:28.000000000 -0400 | |
| *************** | |
| *** 26,30 **** | |
|      looks for to find the patch level (for the sccs version string). */ | |
|    | |
| ! #define PATCHLEVEL 15 | |
|    | |
|   #endif /* _PATCHLEVEL_H_ */ | |
| --- 26,30 ---- | |
|      looks for to find the patch level (for the sccs version string). */ | |
|    | |
| ! #define PATCHLEVEL 16 | |
|    | |
|   #endif /* _PATCHLEVEL_H_ */
 | |
| 
 |