diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-03 18:59:08 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-09-03 18:59:08 +0000 |
commit | 94c9b774b9fa52262bcbcd56070164fd1e39cd3f (patch) | |
tree | a9b3a63fca976f1f45ac705a56e781a7e296f3ab /channels | |
parent | b79a3ec5cee4814e0018e585d13fdf41b0c1b35b (diff) |
Merged revisions 81433 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r81433 | russell | 2007-09-03 13:57:53 -0500 (Mon, 03 Sep 2007) | 5 lines
Remove a couple of calls to ast_string_field_free_pools() on peers in error
handling blocks in the code for building peers. The peer object destructor
does this and doing it twice will cause a crash.
(closes issue #10625, reported by and patched by pnlarsson)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81434 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_iax2.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index bc6f68661..7644615ab 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -9517,20 +9517,16 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, st ast_sched_del(sched, peer->expire); peer->expire = -1; ast_clear_flag(peer, IAX_DYNAMIC); - if (ast_dnsmgr_lookup(v->value, &peer->addr.sin_addr, &peer->dnsmgr)) { - ast_string_field_free_pools(peer); + if (ast_dnsmgr_lookup(v->value, &peer->addr.sin_addr, &peer->dnsmgr)) return peer_unref(peer); - } if (!peer->addr.sin_port) peer->addr.sin_port = htons(IAX_DEFAULT_PORTNO); } if (!maskfound) inet_aton("255.255.255.255", &peer->mask); } else if (!strcasecmp(v->name, "defaultip")) { - if (ast_get_ip(&peer->defaddr, v->value)) { - ast_string_field_free_pools(peer); + if (ast_get_ip(&peer->defaddr, v->value)) return peer_unref(peer); - } } else if (!strcasecmp(v->name, "sourceaddress")) { peer_set_srcaddr(peer, v->value); } else if (!strcasecmp(v->name, "permit") || |