dj(1): fix segfault when bses are mismatched
This commit is contained in:
		
							parent
							
								
									f4b97be1f1
								
							
						
					
					
						commit
						2167f35f58
					
				
							
								
								
									
										9
									
								
								src/dj.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								src/dj.c
									
									
									
									
									
								
							| @ -35,15 +35,15 @@ char *program_name = "dj"; | ||||
|  * writing ends of its jockeyed "pipe". User-configurable members are noted | ||||
|  * with their relevant options. */ | ||||
| struct Io{ | ||||
| 	int bs;			/* buffer size (-bB) */ | ||||
| 	int bs;       	/* buffer size (-bB) */ | ||||
| 	size_t bufuse;	/* buffer usage */ | ||||
| 	char *buf;		/* buffer */ | ||||
| 	int bytes;		/* bytes processed */ | ||||
| 	size_t bytes;	/* bytes processed */ | ||||
| 	int fd;			/* file descriptor */ | ||||
| 	int fl;			/* file opening flags */ | ||||
| 	char *fn;		/* file name (may be stdin_name or stdout_name) (-io) */ | ||||
| 	int prec;		/* partial records processed */ | ||||
| 	int rec;		/* records processed */ | ||||
| 	size_t prec;	/* partial records processed */ | ||||
| 	size_t rec; 	/* records processed */ | ||||
| 	long seek;		/* bytes to seek/skip (will be 0 after skippage) (-sS) */ | ||||
| };  | ||||
| 
 | ||||
| @ -197,6 +197,7 @@ int main(int argc, char *argv[]){ | ||||
| 	noerror = 0; | ||||
| 	for(i = 0; i < 2; ++i){ | ||||
| 		io[i].bs = 1024 /* 1 KiB */; /* GNU dd(1) default; POSIX says 512B */ | ||||
| 		io[i].bufuse = 0; | ||||
| 		io[i].bytes = 0; | ||||
| 		io[i].fd = i == 0 ? STDIN_FILENO : STDOUT_FILENO; | ||||
| 		io[i].fn = i == 0 ? stdin_name   : stdout_name; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user