summaryrefslogtreecommitdiff
path: root/lib/libc/internal/init/vdso.c
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-16 12:55:34 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-16 12:55:34 +0100
commit0e832a9329cc4d4647e1ce529846073f21e66991 (patch)
tree8e73a766ab5f8d8c7d6c35227756f50bc61156d9 /lib/libc/internal/init/vdso.c
parent383b4ca16cfd6d99de7335facad9a9f8eaf43341 (diff)
Fix several segv issues and improve x86_64 startup code
Diffstat (limited to 'lib/libc/internal/init/vdso.c')
-rw-r--r--lib/libc/internal/init/vdso.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/libc/internal/init/vdso.c b/lib/libc/internal/init/vdso.c
index f94401f6..de8d0e2f 100644
--- a/lib/libc/internal/init/vdso.c
+++ b/lib/libc/internal/init/vdso.c
@@ -6,6 +6,11 @@
void __init_vdso(void)
{
Elf64_Ehdr *ehdr = (Elf64_Ehdr *)getauxval(AT_SYSINFO_EHDR);
+
+ if (ehdr == NULL) {
+ return;
+ }
+
Elf64_Phdr *phdr = (Elf64_Phdr *)(ehdr + ehdr->e_phoff);
for (int i = 0; i < ehdr->e_phnum; i++) {