You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ti...@apache.org on 2019/04/16 11:13:16 UTC

svn commit: r1857642 - in /felix/trunk/converter/converter/src: main/java/org/osgi/util/converter/ConvertingImpl.java test/java/org/osgi/util/converter/ConverterTest.java

Author: timothyjward
Date: Tue Apr 16 11:13:16 2019
New Revision: 1857642

URL: http://svn.apache.org/viewvc?rev=1857642&view=rev
Log:
[FELIX-6100] Avoid infinite loop when converting null to a multi-dimensional array

More tests and fix the silly mistake!

Signed-off-by: Tim Ward <ti...@apache.org>

Modified:
    felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java
    felix/trunk/converter/converter/src/test/java/org/osgi/util/converter/ConverterTest.java

Modified: felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java?rev=1857642&r1=1857641&r2=1857642&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java (original)
+++ felix/trunk/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java Tue Apr 16 11:13:16 2019
@@ -829,7 +829,7 @@ class ConvertingImpl extends AbstractSpe
 				Class<?> componentType = cls.getComponentType();
 				while(componentType.isArray()) {
 					i++;
-					componentType = cls.getComponentType();
+					componentType = componentType.getComponentType();
 				}
 				
 				if(i == 1) {

Modified: felix/trunk/converter/converter/src/test/java/org/osgi/util/converter/ConverterTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/test/java/org/osgi/util/converter/ConverterTest.java?rev=1857642&r1=1857641&r2=1857642&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/test/java/org/osgi/util/converter/ConverterTest.java (original)
+++ felix/trunk/converter/converter/src/test/java/org/osgi/util/converter/ConverterTest.java Tue Apr 16 11:13:16 2019
@@ -359,6 +359,27 @@ public class ConverterTest {
     	checkArray(float[].class);
     	checkArray(long[].class);
     	checkArray(double[].class);
+
+    	checkArray(String[][].class);
+    	checkArray(boolean[][].class);
+    	checkArray(byte[][].class);
+    	checkArray(short[][].class);
+    	checkArray(char[][].class);
+    	checkArray(int[][].class);
+    	checkArray(float[][].class);
+    	checkArray(long[][].class);
+    	checkArray(double[][].class);
+
+    	
+    	checkArray(String[][][].class);
+    	checkArray(boolean[][][].class);
+    	checkArray(byte[][][].class);
+    	checkArray(short[][][].class);
+    	checkArray(char[][][].class);
+    	checkArray(int[][][].class);
+    	checkArray(float[][][].class);
+    	checkArray(long[][][].class);
+    	checkArray(double[][][].class);
     }
 
 	private void checkArray(Class<?> arrayType) {