From c873e52ec28bf0f9462117b8f487c77d0e13a97a Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 26 Feb 2022 10:58:52 +1100 Subject: [PATCH] Do not restrict any reads or writes to 1GB on 64bit. --- lrzip.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lrzip.c b/lrzip.c index 2bd4e1f..d781e28 100644 --- a/lrzip.c +++ b/lrzip.c @@ -331,8 +331,8 @@ static bool fwrite_stdout(rzip_control *control, void *buf, i64 len) while (len > 0) { ssize_t wrote; - if (len > one_g) - ret = one_g; + if (BITS32) + ret = MIN(len, one_g); else ret = len; wrote = fwrite(offset_buf, 1, ret, control->outFILE); @@ -352,7 +352,10 @@ bool write_fdout(rzip_control *control, void *buf, i64 len) ssize_t ret; while (len > 0) { - ret = MIN(len, one_g); + if (BITS32) + ret = MIN(len, one_g); + else + ret = len; ret = write(control->fd_out, offset_buf, (size_t)ret); if (unlikely(ret <= 0)) fatal_return(("Failed to write to fd_out in write_fdout\n"), false); @@ -416,7 +419,10 @@ bool write_fdin(rzip_control *control) ssize_t ret; while (len > 0) { - ret = MIN(len, one_g); + if (BITS32) + ret = MIN(len, one_g); + else + ret = len; ret = write(control->fd_in, offset_buf, (size_t)ret); if (unlikely(ret <= 0)) fatal_return(("Failed to write to fd_in in write_fdin\n"), false);