]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
ggml-alloc : correctly check mmap return value for errors (#3075)
authorslaren <redacted>
Fri, 8 Sep 2023 02:04:56 +0000 (04:04 +0200)
committerGitHub <redacted>
Fri, 8 Sep 2023 02:04:56 +0000 (04:04 +0200)
ggml-alloc.c

index a896601d1f03a1f5a639c7f7d755aece33acfe9b..e2ac891d13589a535b87650605e24822567515c9 100644 (file)
@@ -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;