From 5c94ce98f77179c94264176525b001888d6664a8 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 21 Apr 2025 17:27:54 -0300 Subject: [PATCH] elf: Fix UB on _dl_map_object_from_fd On 32-bit architecture ubsan triggers: UBSAN: Undefined behaviour in dl-load.c:1345:54 pointer index expression with base 0x00612508 overflowed to 0xf7c3a508 Use explicit uintptr_t operation instead. --- elf/dl-load.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elf/dl-load.c b/elf/dl-load.c index bf29ec725d..6e26ef0583 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1340,7 +1340,7 @@ cannot enable executable stack as shared object requires"); /* Adjust the address of the TLS initialization image. */ if (l->l_tls_initimage != NULL) - l->l_tls_initimage = (char *) l->l_tls_initimage + l->l_addr; + l->l_tls_initimage = (void*)((uintptr_t)l->l_tls_initimage + l->l_addr); /* Process program headers again after load segments are mapped in case processing requires accessing those segments. Scan program -- 2.47.2