about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/elfs/elfloader.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c
index 6531a222..8ebc51f1 100755
--- a/src/elfs/elfloader.c
+++ b/src/elfs/elfloader.c
@@ -645,13 +645,13 @@ int RelocateElfPlt(lib_t *maplib, lib_t *local_maplib, elfheader_t* head)
             pltResolver = AddBridge(my_context->system, vFE, PltResolver, 0);
         }
         if(head->pltgot) {
-            *(uintptr_t*)(head->pltgot+head->delta+8) = pltResolver;
-            *(uintptr_t*)(head->pltgot+head->delta+4) = (uintptr_t)head;
-            printf_log(LOG_DEBUG, "PLT Resolver injected in plt.got at %p\n", (void*)(head->pltgot+head->delta+8));
+            *(uintptr_t*)(head->pltgot+head->delta+16) = pltResolver;
+            *(uintptr_t*)(head->pltgot+head->delta+8) = (uintptr_t)head;
+            printf_log(LOG_DEBUG, "PLT Resolver injected in plt.got at %p\n", (void*)(head->pltgot+head->delta+16));
         } else if(head->got) {
-            *(uintptr_t*)(head->got+head->delta+8) = pltResolver;
-            *(uintptr_t*)(head->got+head->delta+4) = (uintptr_t)head;
-            printf_log(LOG_DEBUG, "PLT Resolver injected in got at %p\n", (void*)(head->got+head->delta+8));
+            *(uintptr_t*)(head->got+head->delta+16) = pltResolver;
+            *(uintptr_t*)(head->got+head->delta+8) = (uintptr_t)head;
+            printf_log(LOG_DEBUG, "PLT Resolver injected in got at %p\n", (void*)(head->got+head->delta+16));
         }
     }