提交 584b3cdc 编写于 作者: S smarks

8205491: adjust reflective access checks

Reviewed-by: alanb, mchung, igerasim, rhalade, ahgross
上级 85aa25d2
/*
* Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -453,11 +453,11 @@ public class ReflectionFactory {
}
return false;
} else {
// accessible if the parent is public and any constructor
// is protected or public
if ((superCl.getModifiers() & Modifier.PUBLIC) == 0) {
// sanity check to ensure the parent is protected or public
if ((superCl.getModifiers() & (Modifier.PROTECTED | Modifier.PUBLIC)) == 0) {
return false;
}
// accessible if any constructor is protected or public
for (Constructor<?> ctor : superCl.getDeclaredConstructors()) {
if ((ctor.getModifiers() & (Modifier.PROTECTED | Modifier.PUBLIC)) != 0) {
return true;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册