[C++] Hashing array scalar with null bitmap and non-null 0s bitmap produces different hashes. #35521
Labels
Component: C++
Critical Fix
Bugfixes for security vulnerabilities, crashes, or invalid data.
Type: bug
Milestone
Describe the bug, including details regarding any error messages, version, and platform.
Null bitmaps in arrays are generally set to
nullptr
when the null count for the array is 0. However, there are cases where the null bitmap is set to a 0s buffer instead. Semantically, a 0s bitmap and anullptr
bitmap are the same thing. However, the hashing algorithm for array scalars will hash the null bitmap if it exists, and the resulting hash is not 0. This behavior can lead to two scalars with the same semantic value, but different internal values of the null bitmap, to hash to different values.Component(s)
C++
The text was updated successfully, but these errors were encountered: