Merged revisions 150298,150301 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Thu, 16 Oct 2008 23:36:49 +0000 (23:36 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 16 Oct 2008 23:36:49 +0000 (23:36 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r150298 | mmichelson | 2008-10-16 18:34:37 -0500 (Thu, 16 Oct 2008) | 10 lines

Don't try to call a dialplan function's read callback from
the manager's GetVar handler if an invalid channel has
been specified. Several dialplan functions, including
CHANNEL and SIP_HEADER, do not check for NULL-ness of
the channel being passed in.

(closes issue #13715)
Reported by: makoto

........
r150301 | mmichelson | 2008-10-16 18:35:07 -0500 (Thu, 16 Oct 2008) | 3 lines

And don't forget to return on the error condition

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@150302 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/manager.c

index 15f485c..c8a8a8d 100644 (file)
@@ -1805,6 +1805,10 @@ static int action_getvar(struct mansession *s, const struct message *m)
        }
 
        if (varname[strlen(varname) - 1] == ')') {
+               if (!c) {
+                       astman_send_error(s, m, "No such channel");
+                       return 0;
+               }
                ast_func_read(c, (char *) varname, workspace, sizeof(workspace));
                varval = workspace;
        } else {