Pekka Enberg
Sun, 12 Dec 2010 03:46:59 -0800
This patch fixes Class getDeclaredField, getDeclaredMethod, getField, and getMethod API to throw NullPointerException if given name is "null".
Signed-off-by: Pekka Enberg <penb...@kernel.org>
---
java/lang/Class.java | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/java/lang/Class.java b/java/lang/Class.java
index 1caee01..af0a0a2 100644
--- a/java/lang/Class.java
+++ b/java/lang/Class.java
@@ -440,11 +440,14 @@ public final class Class<T>
* @return the field
* @throws NoSuchFieldException if the field does not exist
* @throws SecurityException if the security check fails
+ * @throws NullPointerException if <code>fieldName</code> is null
* @see #getDeclaredFields()
* @since 1.1
*/
public Field getDeclaredField(String name) throws NoSuchFieldException
{
+ if (name == null)
+ throw new NullPointerException();
memberAccessCheck(Member.DECLARED);
Field[] fields = getDeclaredFields(false);
for (int i = 0; i < fields.length; i++)
@@ -496,12 +499,15 @@ public final class Class<T>
* @return the method
* @throws NoSuchMethodException if the method does not exist
* @throws SecurityException if the security check fails
+ * @throws NullPointerException if <code>methodName</code> is null
* @see #getDeclaredMethods()
* @since 1.1
*/
public Method getDeclaredMethod(String methodName, Class<?>... types)
throws NoSuchMethodException
{
+ if (methodName == null)
+ throw new NullPointerException();
memberAccessCheck(Member.DECLARED);
Method match = matchMethod(getDeclaredMethods(false), methodName, types);
if (match == null)
@@ -560,12 +566,15 @@ public final class Class<T>
* @return the field
* @throws NoSuchFieldException if the field does not exist
* @throws SecurityException if the security check fails
+ * @throws NullPointerException if <code>fieldName</code> is null
* @see #getFields()
* @since 1.1
*/
public Field getField(String fieldName)
throws NoSuchFieldException
{
+ if (fieldName == null)
+ throw new NullPointerException();
memberAccessCheck(Member.PUBLIC);
Field field = internalGetField(fieldName);
if (field == null)
@@ -700,12 +709,15 @@ public final class Class<T>
* @return the method
* @throws NoSuchMethodException if the method does not exist
* @throws SecurityException if the security check fails
+ * @throws NullPointerException if <code>methodName</code> is null
* @see #getMethods()
* @since 1.1
*/
public Method getMethod(String methodName, Class<?>... types)
throws NoSuchMethodException
{
+ if (methodName == null)
+ throw new NullPointerException();
memberAccessCheck(Member.PUBLIC);
Method method = internalGetMethod(methodName, types);
if (method == null)
--
1.7.0.4