summaryrefslogtreecommitdiff
path: root/src/libostree
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2023-03-15 08:32:55 -0400
committerGitHub <noreply@github.com>2023-03-15 08:32:55 -0400
commit42aad34e0b2923895c9042b1f86f264c8c3c4532 (patch)
treef235613d491591cf9cf9b8bb70d95f794259797c /src/libostree
parentc0427ec1ea72f555f17f0e61fd5d2dfd2aa1dd30 (diff)
parent931a85d3f15554cb6428965ffebbe7d8eb0b43e4 (diff)
downloadostree-42aad34e0b2923895c9042b1f86f264c8c3c4532.tar.gz
Merge pull request #2831 from nanonyme/larger-buffer
Increase buffer size for create_regular_tmpfile_linkable_with_content
Diffstat (limited to 'src/libostree')
-rw-r--r--src/libostree/ostree-repo-commit.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c
index 9306a1a0..2d4347b0 100644
--- a/src/libostree/ostree-repo-commit.c
+++ b/src/libostree/ostree-repo-commit.c
@@ -678,12 +678,13 @@ create_regular_tmpfile_linkable_with_content (OstreeRepo *self,
* e.g. 10 bytes but is actually gigabytes.
* - Due to GLib bugs that pointlessly calls `poll()` on the output fd for every write
*/
- char buf[8192];
+ gsize buf_size = MIN(length, 1048576);
+ g_autofree gchar * buf = g_malloc(buf_size);
guint64 remaining = length;
while (remaining > 0)
{
const gssize bytes_read =
- g_input_stream_read (input, buf, MIN (remaining, sizeof (buf)), cancellable, error);
+ g_input_stream_read (input, buf, MIN (remaining, buf_size), cancellable, error);
if (bytes_read < 0)
return FALSE;
else if (bytes_read == 0)