diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-25 17:31:50 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-07-25 17:31:50 +0000 |
commit | bc01e2ac4fc94f9ea3c863d6981dabf147370ec8 (patch) | |
tree | 81dbb5a2c125da540ee128455d2dbd9c6a13e7ed /channels | |
parent | ea032696e61ce3822587bc7d49a36c44670057f1 (diff) |
ensure socket address family is copied (bug #4789)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6190 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_sip.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d7fe50010..20f198f12 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1639,9 +1639,11 @@ static int create_addr_from_peer(struct sip_pvt *r, struct sip_peer *peer) if ((peer->addr.sin_addr.s_addr || peer->defaddr.sin_addr.s_addr) && (!peer->maxms || ((peer->lastms >= 0) && (peer->lastms <= peer->maxms)))) { if (peer->addr.sin_addr.s_addr) { + r->sa.sin_family = peer->addr.sin_family; r->sa.sin_addr = peer->addr.sin_addr; r->sa.sin_port = peer->addr.sin_port; } else { + r->sa.sin_family = peer->defaddr.sin_family; r->sa.sin_addr = peer->defaddr.sin_addr; r->sa.sin_port = peer->defaddr.sin_port; } |