From b2a6ca64e0d13c4b123c9e94383dec7f452a90f8 Mon Sep 17 00:00:00 2001 From: marsqing Date: Thu, 31 Aug 2017 15:29:28 +0800 Subject: [PATCH] skip unknown nested key --- .../fasterxml/jackson/dataformat/protobuf/ProtobufParser.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/ProtobufParser.java b/protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/ProtobufParser.java index a6a680b07..6e34e154c 100644 --- a/protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/ProtobufParser.java +++ b/protobuf/src/main/java/com/fasterxml/jackson/dataformat/protobuf/ProtobufParser.java @@ -736,6 +736,10 @@ private JsonToken _handleNestedKey(int tag) throws IOException if ((_currentField == null) || (f = _currentField.nextOrThisIf(id)) == null) { f = _currentMessage.field(id); } + // Note: may be null; if so, value needs to be skipped + if (f == null) { + return _skipUnknownField(id, wireType); + } _parsingContext.setCurrentName(f.name); if (!f.isValidFor(wireType)) { _reportIncompatibleType(f, wireType);