On 8/10/2021 6:10 am, Andrey Turbanov wrote:
Hello.
I found suspicious code in the method
sun.reflect.generics.parser.SignatureParser#parseBounds
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java#L532
Method 'error' called without 'throw'. And the returned value is just ignored.
error("Bound expected");
Current method implementation creates and returns GenericSignatureFormatError.
private Error error(String errorMsg) {
return new GenericSignatureFormatError("Signature Parse error: " +
errorMsg +
"\n\tRemaining input: " +
remainder());
}
I believe it's supposed to be thrown:
throw error("Bound expected");
Or given the comment on error():
// Currently throws a GenericSignatureFormatError.
perhaps the intent was for error() to actually do the throwing.
Obviously missing test coverage here too.
Cheers,
David
Andrey Turbanov