mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-18 18:58:22 +00:00
pbx: Prevent Realtime switch crash on invalid priority
pbx_extension_helper takes two 'context' arguments. One (con) is a pointer directly to a 'struct ast_context' and the other (context) is the name of the context. In all cases, one of these arguments is NULL and the other is non-NULL. Functions that are ultimately called by pbx_extension_helper expect that 'context' will be non-NULL, so we set it unconditionally on entry into this function. ASTERISK-28534 #close Change-Id: Ifbbc5e71440afd80efd441f7a9d72e8b10b6f47d
This commit is contained in:
@@ -2884,6 +2884,11 @@ static int pbx_extension_helper(struct ast_channel *c, struct ast_context *con,
|
||||
int matching_action = (action == E_MATCH || action == E_CANMATCH || action == E_MATCHMORE);
|
||||
|
||||
ast_rdlock_contexts();
|
||||
|
||||
if (!context) {
|
||||
context = con->name;
|
||||
}
|
||||
|
||||
if (found)
|
||||
*found = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user