]> git.ipfire.org Git - pakfire.git/commitdiff
repo: Increase XZ work buffer from 1 byte to 1 megabyte
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 23 Feb 2021 18:37:20 +0000 (18:37 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 23 Feb 2021 18:37:20 +0000 (18:37 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/repo.c

index 1f438db8019514153d2d9a0abb8f65ae15545c7c..7add16bcc650d2e98e47230692ca44adb51e6ed9 100644 (file)
@@ -410,9 +410,7 @@ struct xz_cookie {
        lzma_stream stream;
        int done;
 
-       // XXX This should actually be larger than one byte, but fread()
-       // in _xz_read() somehow segfaults when this is larger
-       uint8_t buffer[1];
+       uint8_t buffer[1048576];
 };
 
 static ssize_t _xz_read(void* data, char* buffer, size_t size) {
@@ -435,7 +433,7 @@ static ssize_t _xz_read(void* data, char* buffer, size_t size) {
                if (cookie->stream.avail_in == 0) {
                        cookie->stream.next_in  = cookie->buffer;
                        cookie->stream.avail_in = fread(cookie->buffer,
-                               1, sizeof(cookie->buffer), cookie->f);
+                               1, sizeof(*cookie->buffer), cookie->f);
 
                        // Break if the input file could not be read
                        if (ferror(cookie->f))