From: Russell Bryant Date: Sun, 11 Oct 2009 17:22:52 +0000 (+0000) Subject: Don't use data outside of its scope. X-Git-Tag: 1.4.27-rc3~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f949dd5b17ba94015ebaa6690ec023fe9722d8a2;p=thirdparty%2Fasterisk.git Don't use data outside of its scope. The purpose of this code was to have a hangup frame put on the list of deferred frames. However, the code that read the hangup frame was outside of the scope of where the hangup frame was declared. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223485 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/autoservice.c b/main/autoservice.c index 8bcf81742b..2460527841 100644 --- a/main/autoservice.c +++ b/main/autoservice.c @@ -77,6 +77,11 @@ static int as_chan_list_state; static void *autoservice_run(void *ign) { + struct ast_frame hangup_frame = { + .frametype = AST_FRAME_CONTROL, + .subclass = AST_CONTROL_HANGUP, + }; + for (;;) { struct ast_channel *mons[MAX_AUTOMONS]; struct asent *ents[MAX_AUTOMONS]; @@ -121,7 +126,6 @@ static void *autoservice_run(void *ign) f = ast_read(chan); if (!f) { - struct ast_frame hangup_frame = { 0, }; /* No frame means the channel has been hung up. * A hangup frame needs to be queued here as ast_waitfor() may * never return again for the condition to be detected outside