Fixed [JACKSON-887]
diff --git a/release-notes/VERSION b/release-notes/VERSION
index c7f4c9f..8a7494a 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -5,6 +5,9 @@
Fixes:
+* [JACKSON-887]: StackOverflow with parameterized sub-class field
+ (reported by Alexander M)
+
------------------------------------------------------------------------
=== History: ===
------------------------------------------------------------------------
diff --git a/src/mapper/java/org/codehaus/jackson/map/type/TypeBindings.java b/src/mapper/java/org/codehaus/jackson/map/type/TypeBindings.java
index 2145897..b59c79e 100644
--- a/src/mapper/java/org/codehaus/jackson/map/type/TypeBindings.java
+++ b/src/mapper/java/org/codehaus/jackson/map/type/TypeBindings.java
@@ -287,7 +287,14 @@
* need to call getEnclosingClass since anonymous classes declare
* generics
*/
- _resolveBindings(raw.getDeclaringClass());
+ Class<?> decl = raw.getDeclaringClass();
+ /* 08-Feb-2013, tatu: Except that if context is also super-class, we must
+ * skip it; context will be checked anyway, and we'd get StackOverflow if
+ * we went there.
+ */
+ if (decl != null && !decl.isAssignableFrom(raw)) {
+ _resolveBindings(raw.getDeclaringClass());
+ }
/* 24-Mar-2010, tatu: Can not have true generics definitions, but can
* have lower bounds ("<T extends BeanBase>") in declaration itself
*/