The loop did not break on chunkSize === 0, causing the terminating chunk's trailing metadata (CRLF or trailer headers) to be appended to the decoded output. Now break on the zero-length terminating chunk and return only the decoded body. closes #2247