Set the defaults properly for newly allocated submessages.
Also, pb_dec_submessage() should have used calloc() instead of malloc() in the first place. git-svn-id: https://svn.kapsi.fi/jpa/nanopb-dev@1083 e3a754e5-d11d-0410-8d38-ebb782a927b9
This commit is contained in:
committed by
Petteri Aimonen
parent
f7c8dd81d4
commit
ba93b65e9f
@@ -287,12 +287,12 @@ int main()
|
||||
|
||||
memset(&dest, 0, sizeof(dest));
|
||||
#ifdef MALLOC_HEADER
|
||||
TEST((s = S("\x0A\x01\x61\x12\x01\x62\x2A\x01\x65\x32\x01\x66\x3A\x00"
|
||||
"\x42\x01\x63\x4A\x01\x64"),
|
||||
TEST((s = S("\x0A\x01\x61\x12\x01\x62\x1A\x00\x2A\x01\x65\x32\x01\x66"
|
||||
"\x3A\x00\x42\x01\x63\x4A\x01\x64"),
|
||||
pb_decode(&s, PointerContainer_msg, &dest)))
|
||||
TEST(0 == strcmp(dest.text, "a"))
|
||||
TEST(dest.blob.size == 1 && dest.blob.bytes[0] == 'b')
|
||||
TEST(dest.submsg == NULL)
|
||||
TEST(dest.submsg != NULL && dest.submsg->data == 10)
|
||||
TEST(dest.rtext_count == 1 && (0 == strcmp(dest.rtext[0], "e")))
|
||||
TEST(dest.rblob_count == 1 && dest.rblob[0].size == 1 &&
|
||||
dest.rblob[0].bytes[0] == 'f')
|
||||
@@ -301,8 +301,8 @@ int main()
|
||||
TEST(dest.oblob.size == 1 && dest.oblob.bytes[0] == 'd')
|
||||
TEST(pb_clean(PointerContainer_msg, &dest));
|
||||
#else
|
||||
TEST((s = S("\x0A\x01\x61\x12\x01\x62\x2A\x01\x65\x32\x01\x66\x3A\x00"
|
||||
"\x42\x01\x63\x4A\x01\x64"),
|
||||
TEST((s = S("\x0A\x01\x61\x12\x01\x62\x2A\x01\x65\x32\x01\x66\x01\x66"
|
||||
"\x3A\x00\x42\x01\x63\x4A\x01\x64"),
|
||||
!pb_decode(&s, PointerContainer_msg, &dest)))
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user