Skip to content
Snippets Groups Projects
Commit b437d33f authored by Russell Bryant's avatar Russell Bryant
Browse files

Merged revisions 100629 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r100629 | russell | 2008-01-28 12:34:20 -0600 (Mon, 28 Jan 2008) | 5 lines

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/trunk@100630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 8fd1e10d
No related branches found
No related tags found
No related merge requests found
......@@ -9445,9 +9445,10 @@ static int set_address_from_contact(struct sip_pvt *pvt)
struct ast_hostent ahp;
int port;
char *host, *pt;
char contact_buf[256];
char contact2_buf[256];
char *contact, *contact2;
 
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. */
......@@ -9455,10 +9456,12 @@ static int set_address_from_contact(struct sip_pvt *pvt)
return 0;
}
 
/* Work on a copy */
contact = ast_strdupa(pvt->fullcontact);
contact2 = ast_strdupa(pvt->fullcontact);
ast_copy_string(contact_buf, pvt->fullcontact, sizeof(contact_buf));
ast_copy_string(contact2_buf, pvt->fullcontact, sizeof(contact2_buf));
contact = contact_buf;
contact2 = contact2_buf;
/* We have only the part in <brackets> here so we just need to parse a SIP URI.*/
 
if (pvt->socket.type == SIP_TRANSPORT_TLS) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment