summaryrefslogtreecommitdiff
path: root/kjarna_runtime/dynamic_x86_64.c
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2024-02-24 15:18:40 +0000
committerAda Christine <adachristine18@gmail.com>2024-02-24 15:18:40 +0000
commit0f3866a4dad84860e135855766c77e5a82737686 (patch)
tree97e7bac72928ca6affc362577214646f942ad4d7 /kjarna_runtime/dynamic_x86_64.c
parenta61b9d1c9ee85ec08ff3b8a61e80dc33e71f3472 (diff)
bad reloc code silly me
Diffstat (limited to 'kjarna_runtime/dynamic_x86_64.c')
-rw-r--r--kjarna_runtime/dynamic_x86_64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kjarna_runtime/dynamic_x86_64.c b/kjarna_runtime/dynamic_x86_64.c
index 3d85582..02538ec 100644
--- a/kjarna_runtime/dynamic_x86_64.c
+++ b/kjarna_runtime/dynamic_x86_64.c
@@ -129,9 +129,9 @@ static void do_rela(char *base, Elf64_Rela *rela)
void kc_dynamic_reloc(char *base, struct elf64_relatab *rela)
{
- // perform the actual relocation
+ size_t entries = rela->size / rela->entsize;
- for (size_t i = 0; rela->entries && (i < rela->size); i += rela->entsize)
+ for (size_t i = 0; rela->entries && (i < entries); i++)
{
do_rela(base, &rela->entries[i]);
}