Skip to content

Commit 4f16f67

Browse files
committed
Merge branch '2.8' into 2.9
2 parents 9787983 + 459107d commit 4f16f67

File tree

6 files changed

+38
-2
lines changed

6 files changed

+38
-2
lines changed

src/main/java/com/fasterxml/jackson/databind/jsontype/impl/SubTypeValidator.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public void validateSubType(DeserializationContext ctxt, JavaType type,
7373
final Class<?> raw = type.getRawClass();
7474
String full = raw.getName();
7575

76+
main_check:
7677
do {
7778
if (_cfgIllegalClassNames.contains(full)) {
7879
break;
@@ -86,8 +87,8 @@ public void validateSubType(DeserializationContext ctxt, JavaType type,
8687
// looking for "AbstractBeanFactoryPointcutAdvisor" but no point to allow any is there?
8788
if ("AbstractPointcutAdvisor".equals(name)
8889
// ditto for "FileSystemXmlApplicationContext": block all ApplicationContexts
89-
|| "AbstractApplicationContext.equals".equals(name)) {
90-
break;
90+
|| "AbstractApplicationContext".equals(name)) {
91+
break main_check;
9192
}
9293
}
9394
}

src/test/java/com/fasterxml/jackson/databind/interop/IllegalTypesCheckTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.fasterxml.jackson.databind.interop;
22

3+
import org.springframework.jacksontest.BogusApplicationContext;
4+
import org.springframework.jacksontest.BogusPointcutAdvisor;
5+
36
import com.fasterxml.jackson.annotation.JsonTypeInfo;
47
import com.fasterxml.jackson.databind.*;
58
import com.fasterxml.jackson.databind.exc.InvalidDefinitionException;
@@ -68,6 +71,10 @@ public void testJDKTypes1855() throws Exception
6871
{
6972
// apparently included by JDK?
7073
_testIllegalType("com.sun.org.apache.bcel.internal.util.ClassLoader");
74+
75+
// also: we can try some form of testing, even if bit contrived...
76+
_testIllegalType(BogusPointcutAdvisor.class);
77+
_testIllegalType(BogusApplicationContext.class);
7178
}
7279

7380
// 17-Aug-2017, tatu: Ideally would test handling of 3rd party types, too,
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package org.springframework.jacksontest;
2+
3+
public class AbstractApplicationContext {
4+
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package org.springframework.jacksontest;
2+
3+
public class AbstractPointcutAdvisor {
4+
5+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.springframework.jacksontest;
2+
3+
//Made-up test class that should trigger checks for [databind#1855]
4+
public class BogusApplicationContext extends AbstractApplicationContext {
5+
public BogusApplicationContext(String s) {
6+
super();
7+
throw new Error("Wrong!");
8+
}
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.springframework.jacksontest;
2+
3+
// Made-up test class that should trigger checks for [databind#1855]
4+
public class BogusPointcutAdvisor extends AbstractPointcutAdvisor {
5+
public BogusPointcutAdvisor(String s) {
6+
super();
7+
throw new Error("Wrong!");
8+
}
9+
}

0 commit comments

Comments
 (0)