RFR: 8366028: MethodType::fromMethodDescriptorString should not throw UnsupportedOperationException for invalid descriptors [v2]
Chen Liang
liach at openjdk.org
Mon Aug 25 14:54:14 UTC 2025
> A previous cleanup #14642 accidentally omitted the fact that an `Array.newInstance` call in `BytecodeDescriptor::parseSig` is intended to propagate `IllegalArgumentException` to `MethodType::fromMethodDescriptorString`. This bug is discovered in a recent cleanup for `BytecodeDescriptor` in #24978.
>
> Instead of restoring the original `newInstance` call, this patch catches the `UnsupportedOperationException` thrown by `Class::arrayType` to because the cause IAE thrown by `newInstance` has no message at all. The existing reporting system in `BytecodeDescriptor::parseMethod` includes the whole malformed descriptor string in the error message, which can be triggered by returning `null` in `parseSig`.
Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
A case for malformed return type
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/26909/files
- new: https://git.openjdk.org/jdk/pull/26909/files/2a81b9d2..758ed7c5
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=26909&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=26909&range=00-01
Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/26909.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26909/head:pull/26909
PR: https://git.openjdk.org/jdk/pull/26909
More information about the core-libs-dev
mailing list