aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-30 15:39:45 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-30 15:39:45 +0000
commit58a435db92fdaf4b3bd6373d04319472bbf57352 (patch)
treeaa3180697204c8a1aef88dd1aa5079f32fdf3e2a
parentca1d1635dfc36c72b822834e26b704814deef28a (diff)
Merged revisions 289425 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r289425 | russell | 2010-09-30 10:37:29 -0500 (Thu, 30 Sep 2010) | 15 lines Merged revisions 289424 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r289424 | russell | 2010-09-30 10:34:29 -0500 (Thu, 30 Sep 2010) | 8 lines Fix a crash in app_sms. Since the data being passed to the generator callback is on the stack of the SMS() application, we must ensure that the generator is stopped before the application exits. ABE-2587 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@289426 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_sms.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/app_sms.c b/apps/app_sms.c
index aee2fa6c5..b5c471b8e 100644
--- a/apps/app_sms.c
+++ b/apps/app_sms.c
@@ -2040,6 +2040,12 @@ static int sms_exec(struct ast_channel *chan, const char *data)
}
res = h.err; /* XXX */
+ /*
+ * The SMS generator data is on the stack. We _MUST_ make sure the generator
+ * is stopped before returning from this function.
+ */
+ ast_deactivate_generator(chan);
+
sms_log(&h, '?'); /* log incomplete message */
done:
return (res);