[ostree] libotutil: Fix two bugs in usage of posix_fallocate()
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] libotutil: Fix two bugs in usage of posix_fallocate()
- Date: Tue, 29 Apr 2014 11:42:07 +0000 (UTC)
commit 5346e0615be2af2ee5a6c8055dd731c90e5b45e9
Author: Colin Walters <walters verbum org>
Date: Tue Apr 29 07:40:25 2014 -0400
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.
src/libotutil/ot-gio-utils.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/src/libotutil/ot-gio-utils.c b/src/libotutil/ot-gio-utils.c
index 5b3dcfc..61eb422 100644
--- a/src/libotutil/ot-gio-utils.c
+++ b/src/libotutil/ot-gio-utils.c
@@ -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,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]