Merge pull request #389 from besser82/bugfix/invalid_free

json_object: Avoid double free (and thus a segfault) when ref_count gets < 0
This commit is contained in:
Eric Haszlakiewicz
2017-12-14 09:28:06 -05:00
committed by GitHub

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