From: Matthew Jordan Date: Sat, 14 Mar 2015 01:22:01 +0000 (+0000) Subject: FILE: fix retrieval of file contents when offset is specified X-Git-Tag: 14.0.0-beta1~1185 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4cc056067b7576dd5843045c89443b58828082b;p=thirdparty%2Fasterisk.git FILE: fix retrieval of file contents when offset is specified The loop that reads in a file was not correctly using the offset when determining what bytes to append to the output. This patch corrects the logic such that the correct portion of the file is extracted when an offset is specified. ASTERISK-21765 Reported by: John Zhong Tested by: Matt Jordan, Di-Shi Sun patches: file_read_390821.patch uploaded by Di-Shi Sun (License 5076) ........ Merged revisions 432935 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 432938 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432940 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/funcs/func_env.c b/funcs/func_env.c index 1d3e95c0ef..0daa7f48d1 100644 --- a/funcs/func_env.c +++ b/funcs/func_env.c @@ -561,7 +561,7 @@ static int file_read(struct ast_channel *chan, const char *cmd, char *data, stru /* Don't go past the length requested */ if (off_i + toappend > offset + length) { - toappend = length - off_i; + toappend = offset + length - off_i; } ast_str_append_substr(buf, len, fbuf, toappend);