On 09/24/2013 11:59 PM, Henry Jen wrote:
Hi,
Please review the new webrev at
http://cr.openjdk.java.net/~henryjen/ccc/8023524/1/webrev/
The updated code will attempt to escape potentially bad characters(based
on our best knowledge on Windows and common systems), it's not likely we
can avoid problem for all file systems.
Anyhow, we avoid characters that can be used to navigate (known) file
system, and if there is any other invalid characters, that should cause
an IOException failed to create file and just skip dumping of that class.
Let me know if there are other concerns.
Hi Henry,
Just a thought. How does URLClassLoader do the class name -> path to
resource translation? Perhaps there's already some code that does this
correctly and in a platform-specific way (haven't looked)...
Regards, Peter
Cheers,
Henry
On 09/19/2013 12:27 AM, Florian Weimer wrote:
On 09/19/2013 01:00 AM, Henry Jen wrote:
Class names can contain '\' and other characters which are problematic
on Windows.
Thanks for reviewing, I suspect you are pointing out a potential issue
to look at, not that the problem exists in current implementation.
According to JLS 3.8, the classname(an identifier) can only have
letters, digits, plus '_' and '$'.
You need to look at the JVM specification, there are only very few
characters it excludes. The restrictions come from javac, not the JVM.
For example, on Linux, "java '\'" will load a \.class file and run it
(yes, I tried).