On Fri, 19 Jul 2024 20:00:28 GMT, Leonid Mesnik <lmes...@openjdk.org> wrote:

>> Sonia Zaldana Calles has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Missing copyright header update
>
> src/hotspot/share/services/diagnosticArgument.cpp line 366:
> 
>> 364:     _value._name = NEW_C_HEAP_ARRAY(char, JVM_MAXPATHLEN, mtInternal);
>> 365:     if (!Arguments::copy_expand_pid(str, len, _value._name, 
>> JVM_MAXPATHLEN)) {
>> 366:       fatal("Invalid file path: %s", str);
> 
> As I understand the 'copy_expand_pid' might fail if very long line is used. 
> This cause jvm crash.,
> So there is possibility that user might crash jvm accidentally invoking jcmd 
> command. 
> It doesn't look safe, I believe it would be better to throw Exception like 
> for any other invalid command, see
> " THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),"
> 
> The 'fatal" owuld make sense only if failing of 'copy_expand_pid' means some 
> unrecoverable jvm bug.

Yes. In this file, other commands use `fatal` only where reading the hard-coded 
default values - in the various `init_...` functions. Hard-coded values should 
be valid, obviously, otherwise the JVM developer messed up. Other values are 
passed in by the end user via jcmd and should not crash the JVM.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20198#discussion_r1685299871

Reply via email to