Merge "stasis_bridges.c: Fix off-nominal json memory leaks."

This commit is contained in:
Joshua Colp 2017-11-09 18:05:09 -06:00 committed by Gerrit Code Review
commit 15d3c5f316
1 changed files with 8 additions and 0 deletions

View File

@ -868,6 +868,8 @@ static struct ast_json *attended_transfer_to_json(struct stasis_message *msg,
if (transfer_msg->transferee) {
json_transferee = ast_channel_snapshot_to_json(transfer_msg->transferee, sanitize);
if (!json_transferee) {
ast_json_unref(json_transferer2);
ast_json_unref(json_transferer1);
return NULL;
}
}
@ -875,6 +877,9 @@ static struct ast_json *attended_transfer_to_json(struct stasis_message *msg,
if (transfer_msg->target) {
json_target = ast_channel_snapshot_to_json(transfer_msg->target, sanitize);
if (!json_target) {
ast_json_unref(json_transferee);
ast_json_unref(json_transferer2);
ast_json_unref(json_transferer1);
return NULL;
}
}
@ -887,9 +892,12 @@ static struct ast_json *attended_transfer_to_json(struct stasis_message *msg,
"result", result_strs[transfer_msg->result],
"is_external", ast_json_boolean(transfer_msg->is_external));
if (!out) {
ast_json_unref(json_target);
ast_json_unref(json_transferee);
return NULL;
}
if (json_transferee && ast_json_object_set(out, "transferee", json_transferee)) {
ast_json_unref(json_target);
return NULL;
}
if (json_target && ast_json_object_set(out, "transfer_target", json_target)) {