res_sorcery_realtime.c: Fix ref leak if object failed to apply.

Change-Id: I3c7106ff77009754725cee790eadf5da44154ab6
pull/9/head
Richard Mudgett 7 years ago
parent 4142eacfef
commit bef49d90c1

@ -176,6 +176,7 @@ static void *sorcery_realtime_retrieve_fields(const struct ast_sorcery *sorcery,
if (!id
|| !(object = ast_sorcery_alloc(sorcery, type, id->value))
|| ast_sorcery_objectset_apply(sorcery, object, objectset)) {
ao2_cleanup(object);
return NULL;
}
@ -233,7 +234,9 @@ static void sorcery_realtime_retrieve_multiple(const struct ast_sorcery *sorcery
objectset = sorcery_realtime_filter_objectset(objectset, &id, sorcery, type);
if (id && (object = ast_sorcery_alloc(sorcery, type, id->value)) && !ast_sorcery_objectset_apply(sorcery, object, objectset)) {
if (id
&& (object = ast_sorcery_alloc(sorcery, type, id->value))
&& !ast_sorcery_objectset_apply(sorcery, object, objectset)) {
ao2_link(objects, object);
}

Loading…
Cancel
Save