]> source.dussan.org Git - poi.git/commitdiff
Add security check
authorUwe Schindler <uschindler@apache.org>
Wed, 11 Nov 2015 19:17:18 +0000 (19:17 +0000)
committerUwe Schindler <uschindler@apache.org>
Wed, 11 Nov 2015 19:17:18 +0000 (19:17 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1713917 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/POITestCase.java

index 8bd466c1624dc52b5a41cb0319aafd9134a41a34..dda9443c8169456eb2899602779600932c5bf2ff 100644 (file)
@@ -79,6 +79,7 @@ public class POITestCase {
       * Only use this method in test cases!!!
       */
      public static <R,T> R getFieldValue(final Class<? super T> clazz, final T instance, final Class<R> fieldType, final String fieldName) {
+         assertTrue("Reflection of private fields is only allowed for POI classes.", clazz.getName().startsWith("org.apache.poi."));
          try {
             return AccessController.doPrivileged(new PrivilegedExceptionAction<R>() {
                 @Override
@@ -100,6 +101,7 @@ public class POITestCase {
       */
      public static <R,T> R callMethod(final Class<? super T> clazz, final T instance, final Class<R> returnType, final String methodName,
              final Class<?>[] parameterTypes, final Object[] parameters) {
+         assertTrue("Reflection of private methods is only allowed for POI classes.", clazz.getName().startsWith("org.apache.poi."));
          try {
             return AccessController.doPrivileged(new PrivilegedExceptionAction<R>() {
                 @Override