Fix cast from pointer to integer in armv7
A pointer may not fit in a off_t type, so we first cast it to intptr_t which must be able to hold it, then compute the diff which should fit in a off_t and perform the cast. Reported-by: Miquel Vidal Piñol <miquel.vidal@bsc.es>
This commit is contained in:
		
							parent
							
								
									9826879bcd
								
							
						
					
					
						commit
						c3248cf0c4
					
				| @ -1,4 +1,4 @@ | |||||||
| /* Copyright (c) 2021-2024 Barcelona Supercomputing Center (BSC)
 | /* Copyright (c) 2021-2025 Barcelona Supercomputing Center (BSC)
 | ||||||
|  * SPDX-License-Identifier: GPL-3.0-or-later */ |  * SPDX-License-Identifier: GPL-3.0-or-later */ | ||||||
| 
 | 
 | ||||||
| /* This program is a really bad idea. It attempts to sort streams by using a
 | /* This program is a really bad idea. It attempts to sort streams by using a
 | ||||||
| @ -268,7 +268,7 @@ static void | |||||||
| write_stream(int fd, void *base, void *dst, const void *src, size_t size) | write_stream(int fd, void *base, void *dst, const void *src, size_t size) | ||||||
| { | { | ||||||
| 	while (size > 0) { | 	while (size > 0) { | ||||||
| 		off_t offset = (off_t) dst - (off_t) base; | 		off_t offset = (off_t) ((intptr_t) dst - (intptr_t) base); | ||||||
| 		ssize_t written = pwrite(fd, src, size, offset); | 		ssize_t written = pwrite(fd, src, size, offset); | ||||||
| 
 | 
 | ||||||
| 		if (written < 0) | 		if (written < 0) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user