Hi Alan,

On 2019-08-24 10:00, Alan Bateman wrote:
On 23/08/2019 14:08, Claes Redestad wrote:
Hi,

please review this cleanup to untangle the old bytecode verifier
(libverify). It's currently linked and loaded eagerly and early during
bootstrap.

Webrev: http://cr.openjdk.java.net/~redestad/8230043/webrev.00/
Bug:    https://bugs.openjdk.java.net/browse/JDK-8230043

This mostly looks good to me.

thanks for looking at this.


One thing that I'm wondering if whether the fixClassname usages could be replaced with verifyFixClassname as the former will abort the replace when a UTF-8 sequence can't be decoded. I think the comments (which pre-date your changes) also need to be re-examined as verifyFixClassname as it will return JNI_FALSE when the scan is aborted.


Both functions abort similarly if UTF-8 sequences can't be decoded.
The fix- version just gets rid of logic to check for slashes, which is redundant at all existing call sites except the Class.forName one.

The fact we return JNI_FALSE when verifyFixClassname fails is a bit odd: this means we'll go into verifyClassname, fail the same way, and still
throw a CNFE, just with a slightly different message.

/Claes

Reply via email to