From: Matthias Clasen Date: Wed, 21 Sep 2011 19:46:24 +0000 (-0400) Subject: Forgotten part of an earlier mismerge X-Git-Tag: 2.31.0~456 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6f84faa17227da437eeceb58ce79334ffdfdb57;p=platform%2Fupstream%2Fglib.git Forgotten part of an earlier mismerge This is making gmappedfile.c identical to the glib-2-30 branch again. --- 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;