RFR: 8303070: Memory leak in DCmdArgument<char*>::parse_value [v2]
Justin King
jcking at openjdk.org
Fri Feb 24 15:49:10 UTC 2023
On Fri, 24 Feb 2023 02:27:42 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> If we have a default value for the char* DCmdArgument we copy it into the `_value` field using `parse_value` to make a copy in C-heap. If we then parse an actual argument value, we replace the default but don't free it. The parse method needs to use realloc.
>>
>> Thanks to @jcking for spotting the cause.
>>
>> Testing: tiers 1-3
>>
>> Thanks.
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
>
> Removed redundant clause
src/hotspot/share/services/diagnosticArgument.cpp line 183:
> 181: template <> void DCmdArgument<char*>::parse_value(const char* str,
> 182: size_t len, TRAPS) {
> 183: if (str == nullptr) {
Do we need to call free here? Not sure if str is actually ever null in practice.
-------------
PR: https://git.openjdk.org/jdk/pull/12737
More information about the hotspot-runtime-dev
mailing list