diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2013-04-14 09:26:42 +0300 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2013-04-14 09:26:42 +0300 |
commit | 9939910833a9289b5913eff29f951195e7bc61c6 (patch) | |
tree | 3455554408cbfec6503f92935732201571c7311f /pb_decode.c | |
parent | 6a022985845a0a50b32b7c1fb22f9aee1f675825 (diff) |
Fix bug with empty strings in repeated string callbacks.
Fix suggested by Henrik Carlgren. Added also unit test for the bug.
Update issue 73
Status: FixedInGit
Diffstat (limited to 'pb_decode.c')
-rw-r--r-- | pb_decode.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pb_decode.c b/pb_decode.c index 7eda89a4..d0e18ccb 100644 --- a/pb_decode.c +++ b/pb_decode.c @@ -430,11 +430,11 @@ static bool checkreturn decode_callback_field(pb_istream_t *stream, pb_wire_type if (!pb_make_string_substream(stream, &substream)) return false; - while (substream.bytes_left) + do { if (!pCallback->funcs.decode(&substream, iter->pos, arg)) PB_RETURN_ERROR(stream, "callback failed"); - } + } while (substream.bytes_left); pb_close_string_substream(stream, &substream); return true; |