make sure to LOCAL_USER_REMOVE in all cases where the application can exit (issue #5307)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2-netsec
Russell Bryant 20 years ago
parent 90aec0b0e3
commit 9f0cf49bca

@ -101,6 +101,7 @@ static int chanavail_exec(struct ast_channel *chan, void *data)
number = strchr(tech, '/'); number = strchr(tech, '/');
if (!number) { if (!number) {
ast_log(LOG_WARNING, "ChanIsAvail argument takes format ([technology]/[device])\n"); ast_log(LOG_WARNING, "ChanIsAvail argument takes format ([technology]/[device])\n");
LOCAL_USER_REMOVE(u);
return -1; return -1;
} }
*number = '\0'; *number = '\0';
@ -135,9 +136,11 @@ static int chanavail_exec(struct ast_channel *chan, void *data)
if (res < 1) { if (res < 1) {
pbx_builtin_setvar_helper(chan, "AVAILCHAN", ""); pbx_builtin_setvar_helper(chan, "AVAILCHAN", "");
pbx_builtin_setvar_helper(chan, "AVAILORIGCHAN", ""); pbx_builtin_setvar_helper(chan, "AVAILORIGCHAN", "");
if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) if (ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101)) {
LOCAL_USER_REMOVE(u);
return -1; return -1;
} }
}
LOCAL_USER_REMOVE(u); LOCAL_USER_REMOVE(u);
return 0; return 0;

Loading…
Cancel
Save