On Mon, 30 Mar 2026 09:28:31 GMT, David Beaumont <[email protected]> wrote:
>> src/java.base/share/native/libjimage/jimage.cpp line 125:
>>
>>> 123: if (1 + module_name_len + preview_infix_len + 1 + name_len + 1 >
>>> IMAGE_MAX_PATH) {
>>> 124: return 0L;
>>> 125: }
>>
>> It would be a bug in the caller to accidentally prepend /modules or
>> /packages to the module name. I'm tempted to suggest this assert as it can't
>> assert in the caller (at least not without an error code parameter, or
>> having some non-0 values reserved for errors).
>>
>> I can't think of how it would be possible to map a package name to the name
>> of a module in the image but that name be larger than what is possible. So
>> maybe that should assert too.
>
> This is where I simply don't know enough about how the C++ API is used to
> know for sure if it could get such a value. If this is used for something
> like "Class.forName()" this it would be possible to construct something.
Maybe we need to add a test that uses the 2-arg Class.forName with a Module
that is defined to the boot class loader to be sure.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29414#discussion_r3009075062