mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 03:50:31 +00:00
If a sip_pvt struct has already registered an extension state callback,
remove the old one before adding a new one. If this isn't done, Asterisk will crash. (issue #10120) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@73768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -11191,8 +11191,11 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req,
|
||||
ast_set_flag(p, SIP_NEEDDESTROY);
|
||||
return 0;
|
||||
}
|
||||
if (p->subscribed != NONE)
|
||||
if (p->subscribed != NONE) {
|
||||
if (p->stateid > -1)
|
||||
ast_extension_state_del(p->stateid, cb_extensionstate);
|
||||
p->stateid = ast_extension_state_add(p->context, p->exten, cb_extensionstate, p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user