RFR: 8303669: SelectVersion indexes past the end of the argv array

David Holmes dholmes at openjdk.org
Thu May 4 06:30:15 UTC 2023


On Wed, 3 May 2023 12:03:34 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> libjli/java.c's SelectVersion method receives argc and argv but ignores argc in some circumstances an instead checks if *argv == 0 in its while loop, which results in a segmentation fault if the provided array is not NULL terminated. 
> 
> This patch counts down argc in the while loops instead of looking for zero termination.
> 
> Please review.
> 
> Thank you,
> Adam

src/java.base/share/native/libjli/java.c line 1212:

> 1210:     *pret = 0;
> 1211: 
> 1212:     while (argc > 0 && *(arg = *argv) == '-') {

AFAICS this loop terminates at line 1388 and nowhere in the loop body does argc get modified. ??

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13775#discussion_r1184588025


More information about the core-libs-dev mailing list