projects
/
platform
/
upstream
/
efl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fc63310
)
efreet_xml: make sure we unmap the right pointer.
author
Al Poole
<netstar@gmail.com>
Sat, 3 Mar 2018 13:13:05 +0000
(13:13 +0000)
committer
Wonki Kim
<wonki_.kim@samsung.com>
Tue, 10 Apr 2018 11:10:47 +0000
(20:10 +0900)
Seems Linux would munmap a lump of coal without failing. Make
sure the pointers match. Again bogus unmap not detected by
valgrind and not failing.
@fix T5949
src/lib/efreet/efreet_xml.c
patch
|
blob
|
history
diff --git
a/src/lib/efreet/efreet_xml.c
b/src/lib/efreet/efreet_xml.c
index
05261b2
..
4f4cd2f
100644
(file)
--- 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;