aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2005-05-03 18:58:50 +0000
committerjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2005-05-03 18:58:50 +0000
commita4e8eab0affbc59766c42efc656b087560165bdb (patch)
treed2f7e96af5c01fceff67cb8f940ec3133cd33086 /channels
parent7464b06f42ad69e43aacd695238b8e58e7fb065c (diff)
Fix one-way audio issues with CCM and possibly other [broken] endpoints. Bug #4135
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5560 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_h323.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/channels/chan_h323.c b/channels/chan_h323.c
index a91a4e722..1d8b08e15 100755
--- a/channels/chan_h323.c
+++ b/channels/chan_h323.c
@@ -1321,7 +1321,6 @@ struct rtp_info *external_rtp_create(unsigned call_reference, const char * token
struct oh323_pvt *pvt;
struct sockaddr_in us;
struct rtp_info *info;
- char iabuf[INET_ADDRSTRLEN];
info = (struct rtp_info *)malloc(sizeof(struct rtp_info));
if (!info) {
@@ -1330,6 +1329,7 @@ struct rtp_info *external_rtp_create(unsigned call_reference, const char * token
}
pvt = find_call(call_reference, token);
if (!pvt) {
+ free(info);
ast_log(LOG_ERROR, "Unable to find call %s(%d)\n", token, call_reference);
return NULL;
}
@@ -1338,7 +1338,7 @@ struct rtp_info *external_rtp_create(unsigned call_reference, const char * token
ast_rtp_get_us(pvt->rtp, &us);
ast_mutex_unlock(&pvt->lock);
/* evil hack, until I (or someone?) figures out a better way */
- info->addr = ast_inet_ntoa(iabuf, sizeof(iabuf), bindaddr.sin_addr);
+ ast_inet_ntoa(info->addr, sizeof(info->addr), bindaddr.sin_addr);
info->port = ntohs(us.sin_port);
ast_log(LOG_DEBUG, "Sending RTP 'US' %s:%d\n", info->addr, info->port);
return info;