Removing direct array stores.  Security issue (reported by Sonar).

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/proxy/branches/version-2.0-work@1349099 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java b/cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java
index 56e4e84..845bcf7 100644
--- a/cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java
+++ b/cglib/src/main/java/org/apache/commons/proxy2/cglib/CglibProxyFactory.java
@@ -23,6 +23,7 @@
 import net.sf.cglib.proxy.Enhancer;

 import net.sf.cglib.proxy.MethodInterceptor;

 import net.sf.cglib.proxy.MethodProxy;

+import org.apache.commons.lang3.ArrayUtils;

 import org.apache.commons.proxy2.Interceptor;

 import org.apache.commons.proxy2.Invocation;

 import org.apache.commons.proxy2.Invoker;

@@ -195,7 +196,7 @@
             this.target = target;

             this.method = method;

             this.methodProxy = methodProxy;

-            this.args = args;

+            this.args = ArrayUtils.clone(args);

         }

 

         public Method getMethod()

diff --git a/core/src/main/java/org/apache/commons/proxy2/invoker/RecordedInvocation.java b/core/src/main/java/org/apache/commons/proxy2/invoker/RecordedInvocation.java
index fe6649b..e95fe73 100644
--- a/core/src/main/java/org/apache/commons/proxy2/invoker/RecordedInvocation.java
+++ b/core/src/main/java/org/apache/commons/proxy2/invoker/RecordedInvocation.java
@@ -17,6 +17,7 @@
 

 package org.apache.commons.proxy2.invoker;

 

+import org.apache.commons.lang3.ArrayUtils;

 import org.apache.commons.proxy2.ProxyUtils;

 

 import java.lang.reflect.Method;

@@ -46,7 +47,7 @@
     public RecordedInvocation( Method invokedMethod, Object[] arguments )

     {

         this.invokedMethod = invokedMethod;

-        this.arguments = arguments;

+        this.arguments = ArrayUtils.clone(arguments);

     }

 

   //**********************************************************************************************************************

diff --git a/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistInvocation.java b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistInvocation.java
index 2536403..3945e55 100644
--- a/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistInvocation.java
+++ b/javassist/src/main/java/org/apache/commons/proxy2/javassist/JavassistInvocation.java
@@ -21,6 +21,7 @@
 import javassist.CtClass;

 import javassist.CtConstructor;

 import javassist.CtMethod;

+import org.apache.commons.lang3.ArrayUtils;

 import org.apache.commons.proxy2.Invocation;

 import org.apache.commons.proxy2.ProxyUtils;

 

@@ -204,7 +205,7 @@
     {

         this.method = method;

         this.target = target;

-        this.arguments = arguments;

+        this.arguments = ArrayUtils.clone(arguments);

     }

 

 //**********************************************************************************************************************