Merge pull request #392 from besser82/json-c-0.13

json_object: Avoid invalid free (and thus a segfault) when ref_count gets < 0
This commit is contained in:
Eric Haszlakiewicz
2017-12-14 17:25:53 -05:00
committed by GitHub
2 changed files with 7 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
ACLOCAL_AMFLAGS = -I autoconf-archive/m4
EXTRA_DIST = README.md README.html
EXTRA_DIST += config.h.win32
EXTRA_DIST += Doxyfile

View File

@@ -182,6 +182,11 @@ int json_object_put(struct json_object *jso)
{
if(!jso) return 0;
/* Avoid invalid free and crash explicitly instead of (silently)
* segfaulting.
*/
assert(jso->_ref_count > 0);
#if defined(HAVE_ATOMIC_BUILTINS) && defined(ENABLE_THREADING)
/* Note: this only allow the refcount to remain correct
* when multiple threads are adjusting it. It is still an error