git: 1e99be5dcda2 - main - libc: lib_malloc_aligned(): add a missing NULL check
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 08 Dec 2024 19:15:16 UTC
The branch main has been updated by sobomax: URL: https://cgit.FreeBSD.org/src/commit/?id=1e99be5dcda222d47a77715e190a381a14f46ece commit 1e99be5dcda222d47a77715e190a381a14f46ece Author: Maxim Sobolev <sobomax@FreeBSD.org> AuthorDate: 2024-12-08 19:08:43 +0000 Commit: Maxim Sobolev <sobomax@FreeBSD.org> CommitDate: 2024-12-08 19:14:36 +0000 libc: lib_malloc_aligned(): add a missing NULL check For some reason return value of the __je_bootstrap_malloc() is not checked and then de-referenced few lines below, causing a SEGV if an early allocation fails. MFC after: 1 month --- lib/libc/gen/tls.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libc/gen/tls.c b/lib/libc/gen/tls.c index 3c1a5472c0e5..30b4fc583c98 100644 --- a/lib/libc/gen/tls.c +++ b/lib/libc/gen/tls.c @@ -113,6 +113,8 @@ libc_malloc_aligned(size_t size, size_t align) align = sizeof(void *); mem = __je_bootstrap_malloc(size + sizeof(void *) + align - 1); + if (mem == NULL) + return (NULL); res = (void *)roundup2((uintptr_t)mem + sizeof(void *), align); *(void **)((uintptr_t)res - sizeof(void *)) = mem; return (res);