For some reason, the use of this strdupa() is leading to memory corruption on

freebsd sparc64.  This trivial workaround fixes it.

(closes issue #10300, closes issue #11857, reported by mattias04 and Home-of-the-Brave)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@100629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Russell Bryant 18 years ago
parent 9b53acdbf5
commit fe50ae6de5

@ -7936,9 +7936,9 @@ static int set_address_from_contact(struct sip_pvt *pvt)
struct ast_hostent ahp;
int port;
char *c, *host, *pt;
char contact_buf[256];
char *contact;
if (ast_test_flag(&pvt->flags[0], SIP_NAT_ROUTE)) {
/* NAT: Don't trust the contact field. Just use what they came to us
with. */
@ -7946,9 +7946,9 @@ static int set_address_from_contact(struct sip_pvt *pvt)
return 0;
}
/* Work on a copy */
contact = ast_strdupa(pvt->fullcontact);
ast_copy_string(contact_buf, pvt->fullcontact, sizeof(contact_buf));
contact = contact_buf;
/* Make sure it's a SIP URL */
if (strncasecmp(contact, "sip:", 4)) {

Loading…
Cancel
Save