From 39a63149cf9c2319f4d2994992bc8f67e534bf38 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 4 Jul 2011 09:35:39 +0000 Subject: [PATCH] enable mmap safety in efreet. SVN revision: 60978 --- legacy/efreet/src/lib/efreet_ini.c | 3 +++ legacy/efreet/src/lib/efreet_mime.c | 3 +++ legacy/efreet/src/lib/efreet_xml.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/legacy/efreet/src/lib/efreet_ini.c b/legacy/efreet/src/lib/efreet_ini.c index 61bc3932ca..05c3c78f13 100644 --- a/legacy/efreet/src/lib/efreet_ini.c +++ b/legacy/efreet/src/lib/efreet_ini.c @@ -123,6 +123,9 @@ efreet_ini_parse(const char *file) } left = file_stat.st_size; + /* let's make mmap safe and just get 0 pages for IO erro */ + eina_mmap_safety_enabled_set(EINA_TRUE); + buffer = mmap(NULL, left, PROT_READ, MAP_SHARED, fileno(f), 0); if (buffer == MAP_FAILED) { diff --git a/legacy/efreet/src/lib/efreet_mime.c b/legacy/efreet/src/lib/efreet_mime.c index c8af80405f..9527403e4e 100644 --- a/legacy/efreet/src/lib/efreet_mime.c +++ b/legacy/efreet/src/lib/efreet_mime.c @@ -980,6 +980,9 @@ efreet_mime_shared_mimeinfo_magic_load(const char *file) fd = open(file, O_RDONLY); if (fd == -1) return; + /* let's make mmap safe and just get 0 pages for IO erro */ + eina_mmap_safety_enabled_set(EINA_TRUE); + data = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); if (data == MAP_FAILED) { diff --git a/legacy/efreet/src/lib/efreet_xml.c b/legacy/efreet/src/lib/efreet_xml.c index ea389d16f3..8f1c8777cf 100644 --- a/legacy/efreet/src/lib/efreet_xml.c +++ b/legacy/efreet/src/lib/efreet_xml.c @@ -99,6 +99,9 @@ efreet_xml_new(const char *file) fd = open(file, O_RDONLY); if (fd == -1) goto efreet_error; + /* let's make mmap safe and just get 0 pages for IO erro */ + eina_mmap_safety_enabled_set(EINA_TRUE); + data = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); if (data == MAP_FAILED) goto efreet_error;