Fix NPE where code can look for an objectId when no _objectIdReader is set by pjfanning · Pull Request #5686 · FasterXML/jackson-databind (original) (raw)

see https://oss-fuzz.com/testcase-detail/4985209792823296

== Java Exception: java.lang.NullPointerException: Cannot invoke "tools.jackson.databind.deser.impl.ObjectIdReader.getDeserializer()" because "this._objectIdReader" is null
--
  | at tools.jackson.databind.deser.bean.BeanDeserializerBase._handleTypedObjectId(BeanDeserializerBase.java:1402)
  | at tools.jackson.databind.deser.bean.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:618)
  | at tools.jackson.databind.deser.bean.BeanDeserializer.deserialize(BeanDeserializer.java:200)
  | at tools.jackson.databind.deser.DeserializationContextExt.readRootValue(DeserializationContextExt.java:266)
  | at tools.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2639)
  | at tools.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1544)

I'm not sure how to produce a test case for this but the failing OSS Fuzz scenario somehow leads to BeanDeserializer.deserializeFromObject calling _handleTypedObjectId but that latter method requires a non-null _objectIdReader.