From 25cdf1e6f7dedeaa19ad10ca1c97c6f39894100a Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Wed, 10 Aug 2011 20:16:14 -0700 Subject: Fixed overzealous assert(). --- upb/def.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'upb') diff --git a/upb/def.c b/upb/def.c index 6d2930c..5a449c0 100644 --- a/upb/def.c +++ b/upb/def.c @@ -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); -- cgit v1.2.3