Fix GOT double patching 81/134081/2 tizen_3.0_dev
authorAlexander Aksenov <a.aksenov@samsung.com>
Wed, 14 Jun 2017 11:34:08 +0000 (14:34 +0300)
committerAlexander 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

index 0650451..6cd5ad6 100644 (file)
@@ -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;
 }