Fix lockup in register timeout

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2005-04-27 15:06:23 +00:00
parent ac639e80c3
commit b99c287ef6

View File

@@ -1017,8 +1017,19 @@ static int __sip_ack(struct sip_pvt *p, int seqno, int resp, int sipmethod)
/* Pretend to ack all packets */
static int __sip_pretend_ack(struct sip_pvt *p)
{
char method[128]="";
struct sip_pkt *cur=NULL;
char *c;
while(p->packets) {
if (cur == p) {
ast_log(LOG_WARNING, "Have a packet that doesn't want to give up!\n");
return -1;
}
cur = p;
strncpy(method, p->packets->data, sizeof(method) - 1);
c = method;
while(*c && (*c < 33)) c++;
*c = '\0;;
__sip_ack(p, p->packets->seqno, (ast_test_flag(p->packets, FLAG_RESPONSE)), find_sip_method(p->packets->data));
}
return 0;