From ef422656a57b3f472b192691a40f48d0d72f2927 Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Sat, 7 Mar 2015 10:25:09 +0200 Subject: Fix oneof submessage initialization bug. Update issue 149 Status: FixedInGit --- pb_decode.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'pb_decode.c') diff --git a/pb_decode.c b/pb_decode.c index 9d25dc6..4d8c7cb 100644 --- a/pb_decode.c +++ b/pb_decode.c @@ -396,6 +396,10 @@ static bool checkreturn decode_static_field(pb_istream_t *stream, pb_wire_type_t case PB_HTYPE_ONEOF: *(pb_size_t*)iter->pSize = iter->pos->tag; + if (PB_LTYPE(type) == PB_LTYPE_SUBMESSAGE) + { + pb_message_set_to_defaults((const pb_field_t*)iter->pos->ptr, iter->pData); + } return func(stream, iter->pos, iter->pData); default: -- cgit v1.2.3