summaryrefslogtreecommitdiff
path: root/src/lib/efreet/efreet_xml.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/efreet/efreet_xml.c')
-rw-r--r--src/lib/efreet/efreet_xml.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/efreet/efreet_xml.c b/src/lib/efreet/efreet_xml.c
index 05261b2a4a..4f4cd2fea8 100644
--- a/src/lib/efreet/efreet_xml.c
+++ b/src/lib/efreet/efreet_xml.c
@@ -86,7 +86,7 @@ efreet_xml_new(const char *file)
{
Efreet_Xml *xml = NULL;
int size, fd = -1;
- char *data = MAP_FAILED;
+ char *tmp, *data = MAP_FAILED;
struct stat st;
int error = 0;
@@ -109,11 +109,12 @@ efreet_xml_new(const char *file)
data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (data == MAP_FAILED) goto efreet_error;
+ tmp = data;
+
error = 0;
size = st.st_size;
- xml = efreet_xml_parse(&data, &size, &error);
+ xml = efreet_xml_parse(&tmp, &size, &error);
if (!xml || error) goto efreet_error;
-
munmap(data, st.st_size);
close(fd);
return xml;