scovich commented on code in PR #9820:
URL: https://github.com/apache/arrow-rs/pull/9820#discussion_r3149095014
##########
arrow-buffer/src/buffer/mutable.rs:
##########
@@ -583,7 +586,11 @@ impl MutableBuffer {
/// Extends the buffer by `additional` bytes equal to `0u8`, incrementing
its capacity if needed.
#[inline]
pub fn extend_zeros(&mut self, additional: usize) {
- self.resize(self.len + additional, 0);
+ let new_len = self
+ .len
+ .checked_add(additional)
+ .expect("buffer length overflow");
Review Comment:
Yeah... arguably the guidelines say we should be returning an error here
(because asking for too many entries is a form of invalid input), but it
certainly complicates the API. I don't know if there's a way to provide a
fallible version of this API, for paranoid consumers to use?
I do agree it should be a very rare error, but I've also been unpleasantly
surprised at how often 32-bit StringArray offsets blow up in practice.
--
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]