[Home]

Summary:ASTERISK-21797: FILE function reads inconsistently
Reporter:Rusty Newton (rnewton)Labels:
Date Opened:2013-05-20 19:39:57Date Closed:
Priority:MajorRegression?
Status:Open/NewComponents:Functions/func_dialplan
Versions:1.8.15.0 11.3.0 13.18.4 Frequency of
Occurrence
Related
Issues:
is related toASTERISK-21765 [patch] - FILE function's length argument counts from beginning of file rather than the offset
Environment:AsteriskNow64 3.0.0 Asterisk 11.2.1 and Asterisk 11.3.0 Attachments:
Description:This issue was a secondary issue included in ASTERISK-21765

{quote}
OK,
    let's treat it as what it is, go further to see another bug. If you
    count the result of FILE("/tmp/vm-login.ulaw.b64,4080,5100"), the
    length is 1023, not the expected 1020.
{noformat}
    GET VARIABLE FILE("/tmp/vm-login.ulaw.b64,4080,5100")
    200 result=1
(qq2uu8nMRT06LS4uKSssLCsuPERGyL69ra2spqinp6utt8ffSTkwLCkoKCgoLCwqPVlEwbO9qqmso6aop6yvucl4RTsvLComKCgoKSssMlNK1bG8rKWsoqOnpKqvt8BuQUEtKy0kKCglKisrLUZYTrK3taKtpp+ro6Wxr73iT0A0LC4nJiokKSsqLzFQW+Svu6ykrqGiq6KrsLDL5k07Mi0rJikoJiwqLTMwXf3nrreuo6ykoqulqbO1xGhIPS4tKyUpJyYsKi43MVbQ6bCvsqOpqKCqqaizucFvQz0wKiwlJiolLC0sOjZBx9e7q7OnpKyhp62mtby7WE0/Ly4rJygoJystLjg8PN7EzK6tr6KpqqGuqqvCudpHSzMuLSgoKCcqLS42PD9M076/ra2uo6uppbGqscO6XE1FLzErKCooKSwtMjk9S0vcusiuq7Skqq2ksa2uxL3oTEY2MC0qKSkqKy8xOj5FU1G+v8CptKyksaeps6u3wcRqRz01LSwpJyspLTIyPj9MUF26xript6insKWsr6u9vMlOSzovLiooKSkqLy82Pj5XTWK4yrapuKinsaSsr6q6v8dQRDsuLSsnKikrLzA4PkFPVFu/vb6rsK6lrqmnsKuxwMRkRTwwLSsnKSkpLjE1P0FKak7et8m0qrinqK+krK6qur/NUDs3LigrJSYsKDE3NkxLWN5f3LbAu6m3rKWzp6izqrbMyU43Ni0nKiYlLCovPDtNa2jUzmu/tM+urL2lrLKjsLGsyNTjOzIxKCYpJCgtLDhDSeXX0sXI4sG1zLStwKqruaiuuK7B9e8+LzApJSkmKC8vPFZkzcPIv8HV68HB7rW6yqq2uKe2tK7I3O07MDAnJiklKzM0SvXewL7Ivsj+YWbMV9i23rCsvKWqsai2ztZGLy4qIicmJjEzP+zbxrzFw8F5XEpu10W8u8ynrq6gq6yrvmpTNigrJB8oJSk4PFDGvryzvMK9alE+QfQ417nfqqqtoKapq7jmRTgpJyUfJCc)
{noformat}
{quote}
Comments:By: Rusty Newton (rnewton) 2013-05-20 19:43:19.679-0500

Confirmed. Given a file with 5000 bytes and no arguments, it returned 4095. Also given no arguments it will read the contents starting somewhere seemingly random.

With small files of a few dozen bytes it seems to read them appropriately, but as shown in another issue: ASTERISK-21765, the length argument's usage doesn't match documentation.

By: Di-Shi Sun (homesick) 2013-06-07 02:12:06.249-0500

4096 (or a little small value) may be the limit of Asterisk string variable length. file_read function returns the correct buffer for an around 5k test file without offset and length argument.