diff --git a/binding/navigation-api.c b/binding/navigation-api.c index 19913a1102954a2d74b9ded6d6067ef2112882d7..ab7a5b701291a0cf94d3f5018202a57c1e94cb26 100644 --- a/binding/navigation-api.c +++ b/binding/navigation-api.c @@ -135,10 +135,12 @@ static void broadcast(afb_req_t request, const char *name, gboolean cache) json_object *jresp = afb_req_json(request); if (cache) { - json_object **storage = get_storage_from_value(ns, name); + json_object **storage; g_rw_lock_writer_lock(&ns->rw_lock); + storage = get_storage_from_value(ns, name); + if (*storage) json_object_put(*storage);