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

Reply via email to