RFR: 8194154: JDK crashes parsing path string contains '//' on linux

yumin qi yumin.qi at gmail.com
Thu Feb 15 17:25:00 UTC 2018


  The real reason is if we do not change on resolve, the string passed into
native canonicalize will be like "//./a/" which is not expected in native
part. In native part, we resume that no more "//" in the path string
(already normalized in java).
   We can fix this by  either:
   1) in java part, like the webrev here
    2) in native canonicalize_md.c as webrev0.
   If the test run on Windows, should it run in unix like shell on Windows?
The separator "/" is not for Windows.


On Thu, Feb 15, 2018 at 12:23 AM, Alan Bateman <Alan.Bateman at oracle.com>

> On 14/02/2018 23:52, yumin qi wrote:
>> Brian,
>>   Updated using RuntimeException, which will not need -ea so removed.
>> http://cr.openjdk.java.net/~minqi/8194154/webrev1/ <
>> http://cr.openjdk.java.net/%7Eminqi/8194154/webrev1/>
>> Can you explain why resolve has been changed to call normalize
> parent+child? I can't help thinking there is something else going on if
> this change is needed.
> I see the mails about the test so I'll skip that except to say that it
> should not need "require". The test should be able to run on all platforms.
> -Alan

More information about the core-libs-dev mailing list