[Asterisk-code-review] res ari events: Fix JSON leak in stasis app message handler. (asterisk[master])
Corey Farrell
asteriskteam at digium.com
Mon Nov 6 15:53:13 CST 2017
Corey Farrell has uploaded this change for review. ( https://gerrit.asterisk.org/7047
Change subject: res_ari_events: Fix JSON leak in stasis_app_message_handler.
......................................................................
res_ari_events: Fix JSON leak in stasis_app_message_handler.
The only time we didn't leak the JSON object is when no client was
connected and we successfully added the message to the queue.
Change-Id: I82696df8fe723b3365c15c3f7089501da8daa892
---
M res/ari/resource_events.c
1 file changed, 9 insertions(+), 5 deletions(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/47/7047/1
diff --git a/res/ari/resource_events.c b/res/ari/resource_events.c
index 4be5d02..447af10 100644
--- a/res/ari/resource_events.c
+++ b/res/ari/resource_events.c
@@ -108,11 +108,14 @@
msg_application);
} else if (!session->ws_session) {
/* If the websocket is NULL, the message goes to the queue */
- AST_VECTOR_APPEND(&session->message_queue, message);
- ast_log(LOG_WARNING,
- "Queued '%s' message for Stasis app '%s'; websocket is not ready\n",
- msg_type,
- msg_application);
+ if (!AST_VECTOR_APPEND(&session->message_queue, message)) {
+ ast_log(LOG_WARNING,
+ "Queued '%s' message for Stasis app '%s'; websocket is not ready\n",
+ msg_type,
+ msg_application);
+ /* This is the only path that we don't free message. */
+ message = NULL;
+ }
} else {
if (stasis_app_get_debug_by_name(app_name)) {
char *str = ast_json_dump_string_format(message, ast_ari_json_format());
@@ -126,6 +129,7 @@
/* We are ready to publish the message */
ast_ari_websocket_session_write(session->ws_session, message);
}
+ ast_json_unref(message);
ao2_unlock(session);
}
--
To view, visit https://gerrit.asterisk.org/7047
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I82696df8fe723b3365c15c3f7089501da8daa892
Gerrit-Change-Number: 7047
Gerrit-PatchSet: 1
Gerrit-Owner: Corey Farrell <git at cfware.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20171106/fb39ad6f/attachment.html>
More information about the asterisk-code-review
mailing list