Index: channels/chan_iax2.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_iax2.c,v retrieving revision 1.304 diff -u -r1.304 chan_iax2.c --- channels/chan_iax2.c 6 Jun 2005 22:12:19 -0000 1.304 +++ channels/chan_iax2.c 8 Jun 2005 01:43:54 -0000 @@ -2854,7 +2854,7 @@ static int iax2_call(struct ast_channel *c, char *dest, int timeout) { struct sockaddr_in sin; - char *l=NULL, *n=NULL; + char *l=NULL, *n=NULL, *tmpstr; struct iax_ie_data ied; char *defaultrdest = "s"; unsigned short callno = PTR_TO_CALLNO(c->tech_pvt); @@ -2870,7 +2870,8 @@ cai.encmethods = iax2_encryption; memset(&pds, 0, sizeof(pds)); - parse_dial_string(ast_strdupa(dest), &pds); + tmpstr = ast_strdupa(dest); + parse_dial_string(tmpstr, &pds); if (!pds.exten) pds.exten = defaultrdest; @@ -7649,9 +7650,11 @@ int capability = iax2_capability; struct parsed_dial_string pds; struct create_addr_info cai; + char *tmpstr; memset(&pds, 0, sizeof(pds)); - parse_dial_string(ast_strdupa(data), &pds); + tmpstr = ast_strdupa(data); + parse_dial_string(tmpstr, &pds); memset(&cai, 0, sizeof(cai)); @@ -8526,6 +8529,7 @@ struct iax_ie_data ied; struct create_addr_info cai; struct parsed_dial_string pds; + char *tmpstr; for (x=0; x