mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-23 21:35:26 +03:00
libotutil: Fix two bugs in usage of posix_fallocate()
* It's invalid to call it with a size of 0, so don't do that. * posix_* apparently don't set errno. So capture the return value and use that.
This commit is contained in:
parent
22ab7b3e79
commit
5346e0615b
@ -308,10 +308,14 @@ ot_gfile_replace_contents_fsync (GFile *path,
|
||||
|
||||
instream = g_memory_input_stream_new_from_bytes (contents);
|
||||
|
||||
if (posix_fallocate (fd, 0, g_bytes_get_size (contents)) != 0)
|
||||
if (g_bytes_get_size (contents) > 0)
|
||||
{
|
||||
ot_util_set_error_from_errno (error, errno);
|
||||
goto out;
|
||||
int r = posix_fallocate (fd, 0, g_bytes_get_size (contents));
|
||||
if (r != 0)
|
||||
{
|
||||
ot_util_set_error_from_errno (error, r);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_output_stream_splice (stream, instream, 0,
|
||||
|
Loading…
Reference in New Issue
Block a user