Fixed overzealous assert().

pull/13171/head
Joshua Haberman 13 years ago
parent 336268b3d7
commit 25cdf1e6f7
  1. 4
      Makefile
  2. 6
      upb/def.c

@ -397,7 +397,7 @@ lang_ext/lua/upb.so: lang_ext/lua/upb.c $(LIBUPB_PIC)
# Python extension #############################################################
PYTHON=python2.6-dbg
PYTHON=python
PYTHONEXT=lang_ext/python/build/install/lib/python/upb/__init__.so
python: $(PYTHONEXT)
$(PYTHONEXT): $(LIBUPB_PIC) lang_ext/python/upb.c
@ -405,4 +405,4 @@ $(PYTHONEXT): $(LIBUPB_PIC) lang_ext/python/upb.c
$(Q) cd lang_ext/python && $(PYTHON) setup.py build --debug install --home=build/install
pythontest: $(PYTHONEXT)
cd lang_ext/python && cp test.py build/install/lib/python && valgrind $(PYTHON) ./build/install/lib/python/test.py
cd lang_ext/python && cp test.py build/install/lib/python && $(PYTHON) ./build/install/lib/python/test.py

@ -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);

Loading…
Cancel
Save