Skip to content

Commit 58d748e

Browse files
david-beaumontRoger Riggs
authored andcommitted
8371898: [lworld] CLONE - BasicImageReader getEntryNames() is stateful and cannot be called more than once
Reviewed-by: rriggs
1 parent 409f56a commit 58d748e

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -321,13 +321,12 @@ private int getLocationIndex(String module, String name) {
321321
}
322322

323323
public String[] getEntryNames() {
324-
int[] attributeOffsets = new int[offsets.capacity()];
325-
offsets.get(attributeOffsets);
326-
return IntStream.of(attributeOffsets)
327-
.filter(o -> o != 0)
328-
.mapToObj(o -> ImageLocation.readFrom(this, o).getFullName())
329-
.sorted()
330-
.toArray(String[]::new);
324+
return IntStream.range(0, offsets.capacity())
325+
.map(offsets::get)
326+
.filter(o -> o != 0)
327+
.mapToObj(o -> ImageLocation.readFrom(this, o).getFullName())
328+
.sorted()
329+
.toArray(String[]::new);
331330
}
332331

333332
/**

0 commit comments

Comments
 (0)