Skip to content

Commit b87cfc4

Browse files
committed
Add a null check to catch some cases of end-of-content
1 parent 33e7d89 commit b87cfc4

File tree

1 file changed

+28
-27
lines changed

1 file changed

+28
-27
lines changed

src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -165,34 +165,35 @@ protected final Object _deserializeOther(JsonParser p, DeserializationContext ct
165165
JsonToken t) throws IOException
166166
{
167167
// and then others, generally requiring use of @JsonCreator
168-
switch (t) {
169-
case VALUE_STRING:
170-
return deserializeFromString(p, ctxt);
171-
case VALUE_NUMBER_INT:
172-
return deserializeFromNumber(p, ctxt);
173-
case VALUE_NUMBER_FLOAT:
174-
return deserializeFromDouble(p, ctxt);
175-
case VALUE_EMBEDDED_OBJECT:
176-
return deserializeFromEmbedded(p, ctxt);
177-
case VALUE_TRUE:
178-
case VALUE_FALSE:
179-
return deserializeFromBoolean(p, ctxt);
180-
181-
case VALUE_NULL:
182-
return deserializeFromNull(p, ctxt);
183-
case START_ARRAY:
184-
// these only work if there's a (delegating) creator...
185-
return deserializeFromArray(p, ctxt);
186-
case FIELD_NAME:
187-
case END_OBJECT: // added to resolve [JACKSON-319], possible related issues
188-
if (_vanillaProcessing) {
189-
return vanillaDeserialize(p, ctxt, t);
190-
}
191-
if (_objectIdReader != null) {
192-
return deserializeWithObjectId(p, ctxt);
168+
if (t != null) {
169+
switch (t) {
170+
case VALUE_STRING:
171+
return deserializeFromString(p, ctxt);
172+
case VALUE_NUMBER_INT:
173+
return deserializeFromNumber(p, ctxt);
174+
case VALUE_NUMBER_FLOAT:
175+
return deserializeFromDouble(p, ctxt);
176+
case VALUE_EMBEDDED_OBJECT:
177+
return deserializeFromEmbedded(p, ctxt);
178+
case VALUE_TRUE:
179+
case VALUE_FALSE:
180+
return deserializeFromBoolean(p, ctxt);
181+
case VALUE_NULL:
182+
return deserializeFromNull(p, ctxt);
183+
case START_ARRAY:
184+
// these only work if there's a (delegating) creator...
185+
return deserializeFromArray(p, ctxt);
186+
case FIELD_NAME:
187+
case END_OBJECT: // added to resolve [JACKSON-319], possible related issues
188+
if (_vanillaProcessing) {
189+
return vanillaDeserialize(p, ctxt, t);
190+
}
191+
if (_objectIdReader != null) {
192+
return deserializeWithObjectId(p, ctxt);
193+
}
194+
return deserializeFromObject(p, ctxt);
195+
default:
193196
}
194-
return deserializeFromObject(p, ctxt);
195-
default:
196197
}
197198
return ctxt.handleUnexpectedToken(handledType(), p);
198199
}

0 commit comments

Comments
 (0)