diff options
author | Joshua Haberman <joshua@reverberate.org> | 2009-11-26 22:38:42 -0800 |
---|---|---|
committer | Joshua Haberman <joshua@reverberate.org> | 2009-11-26 22:43:47 -0800 |
commit | 6191fe3ae2fee99948da11d9834fe6425cf32037 (patch) | |
tree | 4a9533d184eed7f015a6b2b2fb1ff9b44c9d36da /src/upb_mm.c | |
parent | cb6c34275fab1d91f45061220694e361b7efe04c (diff) |
Reference-count upb_msgdef and upb_enumdef.
The context owns a reference on each def, defs own references
on defs they reference, and msgs own refs on their def.
Diffstat (limited to 'src/upb_mm.c')
-rw-r--r-- | src/upb_mm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/upb_mm.c b/src/upb_mm.c index 212c2a2..cad1158 100644 --- a/src/upb_mm.c +++ b/src/upb_mm.c @@ -24,6 +24,7 @@ void upb_msg_destroy(struct upb_msg *msg) { if(!upb_msg_isset(msg, f) || !upb_field_ismm(f)) continue; upb_mm_destroy(upb_msg_getptr(msg, f), upb_field_ptrtype(f)); } + upb_msgdef_unref(msg->def); free(msg); } |