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);
}
//**********************************************************************************************************************