diff options
author | Joshua Haberman <jhaberman@gmail.com> | 2011-08-10 20:16:14 -0700 |
---|---|---|
committer | Joshua Haberman <jhaberman@gmail.com> | 2011-08-10 20:16:14 -0700 |
commit | 25cdf1e6f7dedeaa19ad10ca1c97c6f39894100a (patch) | |
tree | 26d65d522703939f0dff58a0eb9d68febcf18407 /upb | |
parent | 336268b3d7e8860e86171650882d0a4f7d62ecfd (diff) |
Fixed overzealous assert().
Diffstat (limited to 'upb')
-rw-r--r-- | upb/def.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -228,8 +228,10 @@ static void upb_fielddef_free(upb_fielddef *f) { } if (f->def) { // We own a ref on the subdef iff we are not part of a msgdef. - assert((f->msgdef == NULL) == (upb_dyncast_unresolveddef(f->def) != NULL)); - if (f->msgdef == NULL) upb_def_unref(f->def); + if (f->msgdef == NULL) { + if (f->def) upb_downcast_unresolveddef(f->def); // assert() check. + upb_def_unref(f->def); + } } free(f->name); free(f); |