summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorslaren <slarengh@gmail.com>2023-09-08 04:04:56 +0200
committerGitHub <noreply@github.com>2023-09-08 04:04:56 +0200
commitebc96086af49fe70108cafcea6ab4bebd658a41a (patch)
tree43c1da7998cc2d787c6a44ec5fc020d9114fc7c2
parent7f412dab9c8801f5d37904f7dce1faf4c2b43b42 (diff)
ggml-alloc : correctly check mmap return value for errors (#3075)
-rw-r--r--ggml-alloc.c6
1 files changed, 5 insertions, 1 deletions
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;