Arawoof06 opened a new pull request, #1262:
URL: https://github.com/apache/arrow-java/pull/1262

   DictionaryEncoder.retrieveIndexVector guards each index with `indexAsInt > 
dictionaryCount`, but valid indices run 0..dictionaryCount-1, so an index equal 
to the count reads one slot past the dictionary vector and a negative index 
from a signed index type is not caught at all; both reach copyValueSafe. The 
index vector is decoded straight from an IPC payload, so a crafted 
dictionary-encoded batch reads out of bounds of the dictionary buffers when 
arrow.enable_unsafe_memory_access is set. Tightening the bound to reject 
negative indices and indices past the count also covers the list and struct 
sub-field decoders, which go through the same helper.
   
   Closes #1261.


-- 
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