RFR: 8067951: System.loadLibrary cannot find library when path contains quoted entry

Ivan Gerasimov ivan.gerasimov at oracle.com
Wed Dec 24 10:45:03 UTC 2014

Thank you Max!

On 24.12.2014 3:51, Wang Weijun wrote:
>> On Dec 23, 2014, at 21:31, Ivan Gerasimov <ivan.gerasimov at oracle.com> wrote:
>> BUGURL: https://bugs.openjdk.java.net/browse/JDK-8067951
>> WEBREV: http://cr.openjdk.java.net/~igerasim/8067951/0/webrev/
> I am not sure why you want to rewrite the loop entirely. Isn't it OK to just add that long if check before the old line 1770?
Unfortunately no.
First, it would miss a quoted entry if it was last in the list.
Second, the loop, as it is currently implemented, doesn't correctly 
handle empty entries:  if an empty entry was at the beginning of the 
list, it is replaced with a dot, but if it was at the end, it produces 
an empty string in the result.  Not a big deal, given how the function 
is used, but still better have if fixed.

>   I always find myself confusing when a for line contains "," inside. :-)

Okay, I reformatted it a bit, no more commas.

> And how about a white box test with getDeclaredMethod("initializePath").setAccessible(true)? I think you can even add a few non-supported case (say, "A:B":C) and comment them out at the moment.

Good idea! Please take a look at the updated webrev.
I've also added some checks for correct handling of empty entries.

Here's the updated webrev:

Tested with JPRT on all available platforms with jdk_lang subset of 
tests. No failures.

Sincerely yours,

> Thanks
> Max

More information about the core-libs-dev mailing list