summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-07-25 17:31:50 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-07-25 17:31:50 +0000
commit5238d544e9debd1dedd9dd139d501dfa8ade2f88 (patch)
tree81dbb5a2c125da540ee128455d2dbd9c6a13e7ed /channels
parent36093d24f7bee1864ca45f5e6e9d6770ac966697 (diff)
ensure socket address family is copied (bug #4789)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c2
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;
}