summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorSean Bright <sean.bright@gmail.com>2017-11-16 17:18:16 -0500
committerSean Bright <sean.bright@gmail.com>2017-11-16 17:29:06 -0500
commit60cfe00c4e191ce3c83a2ed492311a55c4763e2f (patch)
tree34f858b52eb0148b7a35217f184a6826aac03f93 /res
parent71c0478a0419577c99a120c8dc1e3d4055c9e5f5 (diff)
res_pjsip_transport_websocket: Give transport a meaningful description
We were not \0 terminating this string, so any attempt to print it would in the best case show an empty string and in the worst case potentially crash. Change-Id: I63d96ef8f7516ac02a0f91e22dfa8acdc615042c
Diffstat (limited to 'res')
-rw-r--r--res/res_pjsip_transport_websocket.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/res/res_pjsip_transport_websocket.c b/res/res_pjsip_transport_websocket.c
index b1f560c5c..b874a4de3 100644
--- a/res/res_pjsip_transport_websocket.c
+++ b/res/res_pjsip_transport_websocket.c
@@ -203,6 +203,10 @@ static int transport_create(void *data)
ast_debug(4, "Creating websocket transport for %s:%s\n",
newtransport->transport.type_name, ws_addr_str);
+ newtransport->transport.info = (char *) pj_pool_alloc(newtransport->transport.pool,
+ strlen(newtransport->transport.type_name) + strlen(ws_addr_str) + sizeof(" to "));
+ sprintf(newtransport->transport.info, "%s to %s", newtransport->transport.type_name, ws_addr_str);
+
pj_sockaddr_parse(pj_AF_UNSPEC(), 0, pj_cstr(&buf, ws_addr_str), &newtransport->transport.key.rem_addr);
if (newtransport->transport.key.rem_addr.addr.sa_family == pj_AF_INET6()) {
newtransport->transport.key.type = transport_type_wss_ipv6;
@@ -218,8 +222,6 @@ static int transport_create(void *data)
newtransport->transport.local_name.port = ast_sockaddr_port(ast_websocket_local_address(newtransport->ws_session));
newtransport->transport.flag = pjsip_transport_get_flag_from_type((pjsip_transport_type_e)newtransport->transport.key.type);
- newtransport->transport.info = (char *)pj_pool_alloc(newtransport->transport.pool, 64);
-
newtransport->transport.dir = PJSIP_TP_DIR_INCOMING;
newtransport->transport.tpmgr = tpmgr;
newtransport->transport.send_msg = &ws_send_msg;