json_object: Avoid invalid free (and thus a segfault) when ref_count gets < 0

This commit is contained in:
Björn Esser
2017-12-13 19:22:52 +01:00
parent b5a3eff582
commit 99ea93338d

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