From: Richard Mudgett Date: Fri, 3 Nov 2017 23:08:37 +0000 (-0500) Subject: stasis_bridges.c: Fix off-nominal json memory leaks. X-Git-Tag: 13.19.0-rc1~139^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=593f789563eb23320050fcd778ccd4efe738b9fb;p=thirdparty%2Fasterisk.git stasis_bridges.c: Fix off-nominal json memory leaks. Change-Id: Ib1181a36b317c86bff1ef2e44a17a0b1c73cfdc8 --- diff --git a/main/stasis_bridges.c b/main/stasis_bridges.c index 8f97e9818a..413c9be9d2 100644 --- a/main/stasis_bridges.c +++ b/main/stasis_bridges.c @@ -857,6 +857,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; } } @@ -864,6 +866,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; } } @@ -876,9 +881,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)) {