Fri 07 Dec 2007 08:08:48 PM UTC, original submission:
I have no idea what happens here, but here's what crashes.
Also included is some valgrind output.
I've fixed it on my end by changing '} else {' to '} else if(tr) {' and adding an '} else { printf("wouldacrashed\n"); }' after, but I'm still not sure everything is working properly.
Incidentally I'm connecting to a half-set-up openser server which speaks with a half-set-up asterisk CVS server, so at this point I have no idea who's to blame for not working, but hopefully I have a chance of getting it running if things stop crashing! :p
Anyway, hope it helps. Now to the linphone bug tracker...
---
eXtl_udp.c +534:
else if(tr)
{
#ifndef MINISIZE
/* delete first SRV entry that is not reachable */
if (tr->record.name[0]!='\0' && tr->record.srventry[0].srv[0]!='\0')
{
memmove(&tr->record.srventry[0], &tr->record.srventry[1], 9*sizeof(osip_srv_entry_t));
memset(&tr->record.srventry[9], 0, sizeof(osip_srv_entry_t));
osip_free (message);
return 0; /* retry for next retransmission! */
}
#endif
/* SIP_NETWORK_ERROR; */
osip_free (message);
return -1;
} else {
fprintf(stderr, "No 'tr', would have crashed here.\n" );
}
|