From ccb729d219b16ec02ee72146619bc9070b3c6ecf Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Fri, 3 Apr 2020 21:16:18 -0600 Subject: [PATCH] Fix bug with out of order deserialization --- protobuf_serialization.nim | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/protobuf_serialization.nim b/protobuf_serialization.nim index 2bfd54c..ff3ff9a 100644 --- a/protobuf_serialization.nim +++ b/protobuf_serialization.nim @@ -334,7 +334,6 @@ proc decode*[T: object]( var bytesRead = 0 var offset = 0 - var fieldNum = 1 - for field, val in result.fieldPairs: - setField(result, fieldNum, offset, bytesRead, none(int), bytes) - inc fieldNum \ No newline at end of file + while bytesRead < bytes.len: + let fieldNum = fieldNumber(bytes[offset]) + setField(result, fieldNum, offset, bytesRead, none(int), bytes) \ No newline at end of file