summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--upb/msg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/upb/msg.c b/upb/msg.c
index 5729408..850e86e 100644
--- a/upb/msg.c
+++ b/upb/msg.c
@@ -701,13 +701,15 @@ size_t upb_msg_sizeof(const upb_msglayout *l) {
upb_msg *upb_msg_init(void *mem, const upb_msglayout *l, upb_alloc *a) {
upb_msg *msg = VOIDPTR_AT(mem, upb_msg_internalsize(l));
+
+ /* Initialize normal members. */
if (l->data.default_msg) {
memcpy(msg, l->data.default_msg, l->data.size);
} else {
memset(msg, 0, l->data.size);
}
- UPB_ASSERT(!upb_msg_getinternal(msg)->alloc);
+ /* Initialize internal members. */
upb_msg_getinternal(msg)->alloc = a;
if (l->data.extendable) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback