RFR (XS): 8132892: Memory must be freed after calling Arguments::set_sysclasspath function
Dmitry Dmitriev
dmitry.dmitriev at oracle.com
Sat Aug 8 10:40:16 UTC 2015
Hello Dan,
Thank you for review and comments! I prefer to leave patch as-is, i.e.
not to add the "modules_dir = NULL" in this trivial case.
Dmitry
On 07.08.2015 19:27, Daniel D. Daugherty wrote:
>
> On 8/4/15 3:14 AM, Dmitry Dmitriev wrote:
>> Hello,
>>
>> Please review this small fix which fix small memory leak. Also, I
>> need a sponsor for this fix, who can push it.
>>
>> Arguments::set_sysclasspath function call set_value method of
>> SystemProperty class which copy passed value. In several code paths
>> memory is allocated for string and then this string is passed to
>> Arguments::set_sysclasspath. Therefore allocated string should be
>> freed after calling Arguments::set_sysclasspath function.
>>
>> Webrev: http://cr.openjdk.java.net/~ddmitriev/8132892/webrev.00/
>> <http://cr.openjdk.java.net/%7Eddmitriev/8132892/webrev.00/>
>
> src/share/vm/runtime/arguments.cpp
> src/share/vm/runtime/os.cpp
> L1162: char* os::format_boot_path(const char* format_string, ...
> Not your bug, but:
>
> format_boot_path() is only called from os.cpp so I have
> to wonder why it is named in the 'os' class instead of
> being private to os.cpp. Perhaps this is worth a cleanup
> RFE...
>
> L1286: FREE_C_HEAP_ARRAY(char, modules_dir);
> Please set modules_dir = NULL after the free to prevent
> accidental post-free use; the other free calls are fine
> because they are closely followed by a return.
>
> Thumbs up. Adding the "modules_dir = NULL" is your choice
> and I don't need a re-review if you choose to do it.
>
> Dan
>
>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8132892
>> Tested: JPRT(hotspot test set), hotspot all, vm.quick
>>
>> Thanks,
>> Dmitry
>>
>>
>
More information about the hotspot-runtime-dev
mailing list