RFR: 8286694: Incorrect argument processing in java launcher
Yasumasa Suenaga
ysuenaga at openjdk.java.net
Tue May 17 13:58:37 UTC 2022
On Tue, 17 May 2022 04:39:06 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> GCC 12 reports as following:
>
> You forced me to look at this in depth. The values are set via the build system. In the build system it is impossible to get just -J because the -J is only added as a prefix for an existing string. So basically this is impossible code to reach unless you manually override the build system definition. So as far as I can see this is a classic case where we want an assert.
>
>
> if (arg[0] == '-' && arg[1] == 'J') {
> assert(arg[2] != '\0', "Invalid JAVA_ARGS or EXTRA_JAVA_ARGS defined by build");
> *nargv++ = JLI_StringDup(arg + 2);
> }
@dholmes-ora Thanks for your comment!
We cannot use `assert(cond, message)` at here because it is not HotSpot code. In imageFile.cpp for libjimage. It uses `assert(cond && message)`, so I use this style in new commit, and the warning has gone.
I can change to "normal" `assert` usage at here if it is strange.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8694
More information about the core-libs-dev
mailing list