Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
In https://github.com/apache/arrow/blob/master/cpp/src/arrow/compute/kernels/cast.cc#L239, an int32_t is overflows in
constexpr in_type kMax = static_cast<in_type>(std::numeric_limits<out_type>::max());
resulting in safety checks not being correctly performed
In [2]: arr = pa.array([-1, -2, -3], type='int32') In [3]: arr.cast('uint32') Out[3]: <pyarrow.lib.UInt32Array object at 0x7f4889457b88> [ 4294967295, 4294967294, 4294967293 ]
This would be expected to error when safe=True
Attachments
Issue Links
- links to