From f609c4f13a2e7375daf58208c86123f1ff363e4b Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Thu, 30 Sep 2010 15:40:10 +0000
Subject: [PATCH] Merged revisions 289426 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r289426 | russell | 2010-09-30 10:39:45 -0500 (Thu, 30 Sep 2010) | 22 lines

  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: https://origsvn.digium.com/svn/asterisk/trunk@289427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_sms.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/apps/app_sms.c b/apps/app_sms.c
index aee2fa6c5a..b5c471b8ee 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);
-- 
GitLab