[glib] Forgotten part of an earlier mismerge



commit c6f84faa17227da437eeceb58ce79334ffdfdb57
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Sep 21 15:46:24 2011 -0400

    Forgotten part of an earlier mismerge
    
    This is making gmappedfile.c identical to the glib-2-30 branch again.

 glib/gmappedfile.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/glib/gmappedfile.c b/glib/gmappedfile.c
index 6e372c4..f94bf31 100644
--- a/glib/gmappedfile.c
+++ b/glib/gmappedfile.c
@@ -178,7 +178,11 @@ g_mapped_file_new (const gchar  *filename,
       goto out;
     }
 
-  if (st.st_size == 0)
+  /* mmap() on size 0 will fail with EINVAL, so we avoid calling mmap()
+   * in that case -- but only if we have a regular file; we still want
+   * attempts to mmap a character device to fail, for example.
+   */
+  if (st.st_size == 0 && S_ISREG (st.st_mode))
     {
       file->length = 0;
       file->contents = NULL;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]