Previous implementation sent too many bytes to decompressor if size was
less than 1024.
fprintf(stderr, "ERROR Failed to read chunk for decompressing!\n");
return SDAS_INTERNAL_ERROR;
}
- ssize_t write_ret = write(pipe_into_cmd[1], buf, 1024);
- if (write_ret > 0 && (size_t)write_ret == 1024) {
+ ssize_t write_ret =
+ write(pipe_into_cmd[1], buf, chunk_size - chunk_written);
+ if (write_ret > 0 &&
+ (size_t)write_ret == chunk_size - chunk_written) {
// Successful write.
} else if (write_ret == -1) {
fprintf(stderr,