fix rare bug when read bytes < chunksize, but more follows later
a very spurious bug was encountered, when the last line of input
produced by busybox' ash shell was not processed sometimes.
assuming the complete input is:
line1
line2
line3
which is a total of 18 characters (with the 3 newlines), the first
read would receive only 17 bytes, and the last newline character
was retrieved in a subsequent read.
our code assumed practically that any read would produce chunksize
bytes, unless the end of input was encountered.
in this case stale 6 bytes were still contained in the old buffer,
but the memcpy happened from the chunksize boundary, not from
where the previous read actually stopped.
to debug this issue, the size argument in the read() call was changed
to 17, to reproduce the input chunks.