From: Russell Bryant Date: Fri, 22 Apr 2011 13:58:03 +0000 (+0000) Subject: Initialize buffers in getvar and getvarfull. X-Git-Tag: 1.6.2.19-rc1~3^2~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f6b790054cc3f20e3fba24d5950316c2423722f;p=thirdparty%2Fasterisk.git Initialize buffers in getvar and getvarfull. Initialize the buffers used to hold the result from GET VARIABLE or GET VARIABLE FULL. The bug report shows func_read returning garbage in the result. It assumed that the buffer passed in was initialized, like many other functions do. In the more common code path (through the dialplan), it is initialized, so just initialize it here too. (closes issue #19050) Reported by: johnz git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@314778 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_agi.c b/res/res_agi.c index 7fd2aa0062..6fb78576e4 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -1821,7 +1821,7 @@ static int handle_setvariable(struct ast_channel *chan, AGI *agi, int argc, char static int handle_getvariable(struct ast_channel *chan, AGI *agi, int argc, char **argv) { char *ret; - char tempstr[1024]; + char tempstr[1024] = ""; if (argc != 3) return RESULT_SHOWUSAGE; @@ -1843,7 +1843,7 @@ static int handle_getvariable(struct ast_channel *chan, AGI *agi, int argc, char static int handle_getvariablefull(struct ast_channel *chan, AGI *agi, int argc, char **argv) { - char tmp[4096]; + char tmp[4096] = ""; struct ast_channel *chan2=NULL; if ((argc != 4) && (argc != 5))