Debian Patches

Status for tinyarray/1.2.5-2

Patch Description Author Forwarded Bugs Origin Last update
fix-float-to-integer-conversion.patch Fix float-to-integer overflow detection across architectures When converting floats to integer, values that are at the edges may behave
differently on different architectures. The existing check works fine on
amd64 but fails on others (arm64, loong64, ppc64el, riscv64, s390x).
This code is inspired by similar code used in other projects:
- https://searchfox.org/firefox-main/source/mfbt/FloatingPoint.h#325
- https://github.com/boostorg/numeric_conversion/blob/develop/include/boost/numeric/conversion/detail/converter.hpp#L123
===================================================================
Maximiliano Curia <maxy@debian.org> no
fix-32bit-integer-hash.patch Fix integer hash calculation for minimum signed value In 32bit architectures, using Py_hash_t for the sign and result variables
leads to overflows when x is LONG_MIN, that cause the hash to evaluate
incorrectly. So we cast to unsigned long to avoid the overflow.
Maximiliano Curia <maxy@debian.org> no
fix-armhf-alignment.patch Fix alignment and allocation size for 64-bit types on 32-bit ARM On 32-bit ARM (armhf/AAPCS), double requires 8-byte alignment while
sizeof(PyVarObject) is 12 bytes. Without explicit alignment on Array_base,
the compiler inserts 4 bytes of padding before Array<double>::ob_item,
causing ob_item to start at offset 16 while tp_basicsize is reported as 12.
This leads to heap buffer overruns during allocation and data access.
.
Align Array_base to double (8 bytes) so tp_basicsize and the start of ob_item
match across all architectures. Update test_sizeof to use __basicsize__.
Maximiliano Curia <maxy@debian.org> no

All known versions for source package 'tinyarray'

Links