RFR 8207016 : [win] Avoid redundant native memory allocation in getFinalPath()

Ivan Gerasimov ivan.gerasimov at oracle.com
Mon Jul 16 17:44:46 UTC 2018


Thank you Alan for review!


On 7/16/18 5:05 AM, Alan Bateman wrote:
> On 11/07/2018 03:33, Ivan Gerasimov wrote:
>> Hello!
>>
>> File src/java.base/windows/native/libjava/WinNTFileSystem_md.c
>> The function getFinalPath() is wrapper for 
>> GetFinalPathNameByHandleW(), which is used to resolve the symlinks on 
>> Windows.
>>
>> If the resulting string begins with a prefix "\\?\" or "\\?\UNC", a 
>> copy without the prefix is created and returned.
>>
>> Instead of creating the copy, we can override the result with 
>> memmove() to avoid allocating extra native memory.
>> The result of getFinalPath() is short living anyway, so a few unused 
>> bytes at the end of the buffer should not be a problem.
>>
>> The advantage is a shorter code and minus one point of possible failure.
>>
>> Would you please help review it?
>>
>> BUG: https://bugs.openjdk.java.net/browse/JDK-8207016
>> Webrev: http://cr.openjdk.java.net/~igerasim/8207016/00/webrev/
> I think this looks okay.
>
> -Alan
>

-- 
With kind regards,
Ivan Gerasimov



More information about the core-libs-dev mailing list