correct oops in recent outbound registration rework (bug #4461)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2-netsec
Kevin P. Fleming 21 years ago
parent a273ffa005
commit 420737f3ea

@ -8181,8 +8181,12 @@ static int handle_response_register(struct sip_pvt *p, int resp, char *rest, str
r->call = NULL;
ast_sched_del(sched, r->timeout);
break;
case 200:
if (r) {
case 200: /* 200 OK */
if (!r) {
ast_log(LOG_WARNING, "Got 200 OK on REGISTER that isn't a register\n");
ast_set_flag(p, SIP_NEEDDESTROY);
return 0;
}
int expires, expires_ms;
r->regstate=REG_STATE_REGISTERED;
@ -8245,15 +8249,6 @@ static int handle_response_register(struct sip_pvt *p, int resp, char *rest, str
/* Schedule re-registration before we expire */
r->expire=ast_sched_add(sched, expires_ms, sip_reregister, r);
ASTOBJ_UNREF(r, sip_registry_destroy);
} else {
if (r->expire)
ast_log(LOG_WARNING, "Got 200 OK on REGISTER that is already done\n");
else
ast_log(LOG_WARNING, "Got 200 OK on REGISTER that isn't a register\n");
ast_set_flag(p, SIP_NEEDDESTROY);
return 0;
}
}
return 1;
}

Loading…
Cancel
Save