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