diff --git a/library/DrSlump/Protobuf/Codec/Binary.php b/library/DrSlump/Protobuf/Codec/Binary.php index 167ac5e..1e15a25 100644 --- a/library/DrSlump/Protobuf/Codec/Binary.php +++ b/library/DrSlump/Protobuf/Codec/Binary.php @@ -266,7 +266,11 @@ protected function decodeMessage($reader, \DrSlump\Protobuf\Message $message, $l $submessage = new $submessage; $len = $reader->varint(); - $value = $this->decodeMessage($reader, $submessage, $len); + if ($len) { + $value = $this->decodeMessage($reader, $submessage, $len); + } else { + $value = $submessage; + } } else { $value = $this->decodeSimpleType($reader, $type, $wire); }