viirya opened a new issue, #11363:
URL: https://github.com/apache/arrow-rs/issues/11363

   ### Describe the bug
   
   FixedSizeList validation for non-nullable items ignores the parent offset 
when comparing child validity with expanded parent validity. It can reject 
valid arrays and accept arrays with visible nulls in non-nullable items.
   
   When the parent has no null buffer, validation checks the entire child, so 
nulls outside the parent-visible range can also cause an incorrect rejection. 
The child length check likewise omits the parent offset.
   
   ### To Reproduce
   
   Construct an ArrayData with:
   
   - Type: FixedSizeList of non-nullable Int32 items, list size 2
   - Parent offset: 1
   - Parent length: 2
   - Child values: `[0, 1, null, null, 4, 5]`
   
   The visible child range is indices 2 through 5.
   
   1. With parent validity `[false, true]`, validation incorrectly rejects the 
array. Both child nulls are masked by the first visible parent row.
   2. With parent validity `[true, false]`, validation incorrectly accepts the 
array. The first visible parent row is valid but contains null items.
   
   Reproduced on commit `8c265f8de4e44a5fdda8aad79ccf890d53c6e601`.
   
   ### Expected behavior
   
   Validate child nullability only within the parent-visible range, starting at 
`parent.offset * list_size` and spanning `parent.len * list_size` elements. 
Accept the first case and reject the second. Child length validation should 
include the parent offset and reject undersized children before slicing.
   
   ### Additional context
   
   Fix and regression tests: https://github.com/apache/arrow-rs/pull/11362
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to