[ 
https://issues.apache.org/jira/browse/LUCENE-8165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16500444#comment-16500444
 ] 

Nhat Nguyen commented on LUCENE-8165:
-------------------------------------

[~rcmuir] and [~simonw]

I've submitted a new patch which removes Arrays#copyOf. This patch is on top of 
the #copyOfRange patch.

I considered introducing `ArrayUtils#growExact(array, newLength)` and 
`ArrayUtils#subArray(array, from, to)`. Method `ArrayUtils#growExact` will grow 
an array to the exact given length instead of an over-allocated length like ` 
ArrayUtils#grow`. I think our code will be more clear and less error-prone with 
these helper methods. I am open to suggestions.

Please have a look when you have time. Thank you!

> ban Arrays.copyOfRange with forbidden APIs
> ------------------------------------------
>
>                 Key: LUCENE-8165
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8165
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>            Priority: Major
>         Attachments: LUCENE-8165_copy_of.patch, 
> LUCENE-8165_copy_of_range.patch, LUCENE-8165_start.patch, 
> LUCENE-8165_start.patch
>
>
> This method is no good, because instead of throwing AIOOBE for bad bounds, it 
> will silently fill with zeros (essentially silent corruption). Unfortunately 
> it is used in quite a few places so replacing it with e.g. arrayCopy may 
> uncover some interesting surprises.
> See LUCENE-8164 for motivation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to