Skip to content

Commit cd03369

Browse files
committed
Just abort on invariant failures; don't try to recover
1 parent e56ffc3 commit cd03369

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

Sources/SwiftProtobuf/JSONDecoder.swift

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -707,20 +707,15 @@ internal struct JSONDecoder: Decoder {
707707
messageType: Message.Type,
708708
fieldNumber: Int
709709
) throws {
710-
guard let ext = extensions?[messageType, fieldNumber] else {
711-
return
712-
}
710+
// Force-unwrap: we can only get here if the extension exists.
711+
let ext = extensions![messageType, fieldNumber]!
712+
713713
var fieldValue = values[fieldNumber]
714714
if fieldValue != nil {
715715
try fieldValue!.decodeExtensionField(decoder: &self)
716716
} else {
717717
fieldValue = try ext._protobuf_newField(decoder: &self)
718718
}
719-
if fieldValue != nil {
720-
values[fieldNumber] = fieldValue
721-
} else {
722-
// This most likely indicates a bug in our extension support.
723-
throw TextFormatDecodingError.internalExtensionError
724-
}
719+
values[fieldNumber] = fieldValue!
725720
}
726721
}

0 commit comments

Comments
 (0)