projects
/
platform
/
core
/
system
/
swap-probe.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0a90d12
)
Fix GOT double patching
81/134081/2
tizen_3.0_dev
author
Alexander Aksenov
<a.aksenov@samsung.com>
Wed, 14 Jun 2017 11:34:08 +0000
(14:34 +0300)
committer
Alexander Aksenov
<a.aksenov@samsung.com>
Wed, 14 Jun 2017 11:47:34 +0000
(11:47 +0000)
Now if entry in GOT points into SWAP libraries, it won't be
patched again.
Change-Id: I0659dd820a89f35694ab8f7108060a2f3e1085d0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
helper/got_patching.c
patch
|
blob
|
history
diff --git
a/helper/got_patching.c
b/helper/got_patching.c
index
0650451
..
6cd5ad6
100644
(file)
--- a/
helper/got_patching.c
+++ b/
helper/got_patching.c
@@
-122,6
+122,18
@@
static void *_get_orig_on_demand(unsigned long addr)
if (ret == 0)
return NULL;
+ if (sym_info.dli_saddr)
+ return NULL;
+
+ if (!strcmp(probelib_main, sym_info.dli_fname) ||
+ !strcmp(probelib_event, sym_info.dli_fname) ||
+ !strcmp(probelib_capi, sym_info.dli_fname) ||
+ !strcmp(probelib_graphics, sym_info.dli_fname) ||
+ !strcmp(probelib_screenshot, sym_info.dli_fname) ||
+ !strcmp(probelib_uihv, sym_info.dli_fname) ||
+ !strcmp(probelib_lsan, sym_info.dli_fname))
+ return NULL;
+
return sym_info.dli_saddr;
}