RFR: 8371645: BasicImageReader getEntryNames() is stateful and cannot be called more than once
David Beaumont
duke at openjdk.org
Wed Nov 12 13:25:03 UTC 2025
On Wed, 12 Nov 2025 11:17:21 GMT, David Beaumont <duke at openjdk.org> wrote:
> Stop entry name creation using a stateful read of underlying buffer (which moves the position and consumes it).
I can't promise it's not used at runtime (I don't 100% trust that the IDE indexes everything), but if it were it would be remarkable that it hadn't caused issues since its impossible to call it twice without it throwing a buffer underflow exception.
I can confirm that (a) the fix works as well as the old code in JLinkTask and (b) it lets you call it multiple times successfully.
I didn't add a unit test case because I think that the fix is obviously (by inspection) good and it will be very thoroughly tested by its use in JLinkTask.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28263#issuecomment-3521916706
More information about the core-libs-dev
mailing list