From: slaren Date: Fri, 8 Sep 2023 02:04:56 +0000 (+0200) Subject: ggml-alloc : correctly check mmap return value for errors (#3075) X-Git-Tag: gguf-v0.4.0~108 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=ebc96086af49fe70108cafcea6ab4bebd658a41a;p=pkg%2Fggml%2Fsources%2Fllama.cpp ggml-alloc : correctly check mmap return value for errors (#3075) --- diff --git a/ggml-alloc.c b/ggml-alloc.c index a896601d..e2ac891d 100644 --- a/ggml-alloc.c +++ b/ggml-alloc.c @@ -316,7 +316,11 @@ static void * alloc_vmem(size_t size) { #if defined(_WIN32) return VirtualAlloc(NULL, size, MEM_RESERVE, PAGE_NOACCESS); #elif defined(_POSIX_MAPPED_FILES) - return mmap(NULL, size, PROT_NONE, MAP_PRIVATE | MAP_ANON, -1, 0); + void * ptr = mmap(NULL, size, PROT_NONE, MAP_PRIVATE | MAP_ANON, -1, 0); + if (ptr == MAP_FAILED) { + return NULL; + } + return ptr; #else // use a fixed address for other platforms uintptr_t base_addr = (uintptr_t)-size - 0x100;