On Tue, 5 Jul 2022 11:13:15 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> wrote:
>> This patch changes all VaList implementations to throw >> `NoSuchElementException` when out of bounds reads occur on a VaList that is >> created using the Java builder API. The docs are updated accordingly. >> >> For VaLists that are created from native addresses, we don't know their >> bounds, so we can not throw exceptions in that case. >> >> Testing: `jdk_foreign` test suite on all platforms that implement VaList. > > src/java.base/share/classes/java/lang/foreign/VaList.java line 99: > >> 97: * @throws WrongThreadException if this method is called from a >> thread other than the thread owning >> 98: * the {@linkplain #session() session} associated with this variable >> argument list. >> 99: * @throws NoSuchElementException if an out-of-bounds read is >> detected. > > I'd insert a link to the safety section, where the link text is > "out-of-bounds". Good idea, I'll add links > src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVVaList.java > line 291: > >> 289: } >> 290: >> 291: private void checkRegAreaElement(MemoryLayout layout, TypeClass >> typeClass) { > > should this be `checkRegSaveAreaElement` ? Okay, I can rename it. ------------- PR: https://git.openjdk.org/jdk19/pull/91