You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Several type aliases with statically sized names (e.g. `npy_uint64`)
were being aliased to platform-dependent types like
`::std::os::raw::c_long`. Most of these were barely used, so it seems
like they didn't cause problems before, but now with `npy_uint64` being
used in certain structs, which are the target of pointer punning, the
mismatch in sizes became visible. For example, `npy_uint64` was
previously typedef'd to `c_ulong`, which is 64 bits on 64-bit platforms
and on all Unix-likes, but 32 bits on Windows 32-bit. This caused
inaccurate reads through pointers to structs containing them, eventually
resulting in attempts to derefence null pointers.
0 commit comments