diff options
-rw-r--r-- | pb_decode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pb_decode.c b/pb_decode.c index a8cd61a7..e2e90caa 100644 --- a/pb_decode.c +++ b/pb_decode.c @@ -780,7 +780,7 @@ static void pb_field_set_to_default(pb_field_iter_t *iter) else if (PB_ATYPE(type) == PB_ATYPE_STATIC) { bool init_data = true; - if (PB_HTYPE(type) == PB_HTYPE_OPTIONAL) + if (PB_HTYPE(type) == PB_HTYPE_OPTIONAL && iter->pSize != iter->pData) { /* Set has_field to false. Still initialize the optional field * itself also. */ |