Skip to content

Commit e8da559

Browse files
fix crashes introduced with 3.0.2
1 parent 8b1c953 commit e8da559

File tree

4 files changed

+4
-11
lines changed

4 files changed

+4
-11
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<modelVersion>4.0.0</modelVersion>
1111
<groupId>de.ruedigermoeller</groupId>
1212
<artifactId>fst</artifactId>
13-
<version>3.0.1</version>
13+
<version>3.0.3</version>
1414
<packaging>bundle</packaging>
1515

1616
<description>A fast java serialization drop in-replacement and some serialization based utils such as Structs and OffHeap Memory.</description>

src/main/java/org/nustaq/serialization/FSTClazzNameRegistry.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.nustaq.serialization.util.FSTUtil;
2121

2222
import java.io.IOException;
23-
import java.lang.reflect.Proxy;
2423
import java.util.*;
2524
import java.util.concurrent.atomic.AtomicBoolean;
2625

@@ -183,8 +182,6 @@ public FSTClazzInfo decodeClass(FSTDecoder in, FSTConfiguration conf) throws IOE
183182
}
184183
}
185184

186-
187-
private static final String JDKPROXYCLASSPREFIX = "com.sun.proxy.$Proxy"; // Might only work with Oracle JDK
188185
HashMap<String,Class> classCache = new HashMap<String, Class>(200);
189186
AtomicBoolean classCacheLock = new AtomicBoolean(false);
190187
public Class classForName(String clName, FSTConfiguration conf) throws ClassNotFoundException {
@@ -217,10 +214,7 @@ public Class classForName(String clName, FSTConfiguration conf) throws ClassNotF
217214
}
218215
}
219216
return actorClz;
220-
} else if (clName.startsWith(JDKPROXYCLASSPREFIX)) {
221-
res = Proxy.class;
222-
}
223-
else {
217+
} else {
224218
if ( conf.getLastResortResolver() != null ) {
225219
Class aClass = conf.getLastResortResolver().getClass(clName);
226220
if ( aClass != null )

src/main/java/org/nustaq/serialization/FSTConfiguration.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,6 @@ protected static FSTConfiguration initDefaultFstConfigurationInternal(FSTConfigu
501501
reg.putSerializer(Hashtable.class, new FSTMapSerializer(), true);
502502
reg.putSerializer(ConcurrentHashMap.class, new FSTMapSerializer(), true);
503503
reg.putSerializer(Throwable.class, new FSTThrowableSerializer(),true);
504-
reg.putSerializer(Proxy.class, new FSTProxySerializer(),true);
505504

506505
reg.putSerializer(BitSet.class, new FSTBitSetSerializer(),true);
507506
reg.putSerializer(Timestamp.class, new FSTTimestampSerializer(),true);
@@ -838,8 +837,6 @@ void addDefaultClazzes() {
838837
classRegistry.registerClass(Timestamp.class, this);
839838
classRegistry.registerClass(Locale.class,this);
840839

841-
classRegistry.registerClass(Proxy.class,this);
842-
843840
classRegistry.registerClass(StringBuffer.class,this);
844841
classRegistry.registerClass(StringBuilder.class,this);
845842

src/main/java/org/nustaq/serialization/FSTObjectInput.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -901,6 +901,8 @@ protected Object readArrayNoHeader(FSTClazzInfo.FSTFieldInfo referencee, int pos
901901
return null;
902902
}
903903
Class arrType = arrCl.getComponentType();
904+
if (arrType == null)
905+
arrType = Object.class;
904906
if (!arrType.isArray()) {
905907
Object array = Array.newInstance(arrType, len);
906908
if ( ! referencee.isFlat() )

0 commit comments

Comments
 (0)