aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-13 22:47:42 +0000
committercitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-13 22:47:42 +0000
commit329d3fc98e89253ba0e3bbac1432c0c037b38462 (patch)
tree4eb8f9fc181bdc2ba156c858dde38a2d3401757c
parent0c58b05560b1c6cb40251bb7f7e5d9280bd15703 (diff)
Fix pbx_builtin_setlanguage to not seg when data is a NULL ptr. Also fix AGI so we dont run into this with other specific problems as well. (bug 2641)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3990 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xpbx.c3
-rwxr-xr-xres/res_agi.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/pbx.c b/pbx.c
index 4010411cc..26a3e021e 100755
--- a/pbx.c
+++ b/pbx.c
@@ -4483,7 +4483,8 @@ static int pbx_builtin_answer(struct ast_channel *chan, void *data)
static int pbx_builtin_setlanguage(struct ast_channel *chan, void *data)
{
/* Copy the language as specified */
- strncpy(chan->language, (char *)data, sizeof(chan->language)-1);
+ if (data)
+ strncpy(chan->language, (char *)data, sizeof(chan->language)-1);
return 0;
}
diff --git a/res/res_agi.c b/res/res_agi.c
index b6f6edebb..69133e7c4 100755
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -827,7 +827,7 @@ static int handle_exec(struct ast_channel *chan, AGI *agi, int argc, char **argv
app = pbx_findapp(argv[1]);
if (app) {
- res = pbx_exec(chan, app, argv[2], 1);
+ res = pbx_exec(chan, app, argv[2] ? argv[2] : NULL, 1);
} else {
ast_log(LOG_WARNING, "Could not find application (%s)\n", argv[1]);
res = -2;