diff options
author | slaren <slarengh@gmail.com> | 2023-09-08 04:04:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-08 04:04:56 +0200 |
commit | ebc96086af49fe70108cafcea6ab4bebd658a41a (patch) | |
tree | 43c1da7998cc2d787c6a44ec5fc020d9114fc7c2 | |
parent | 7f412dab9c8801f5d37904f7dce1faf4c2b43b42 (diff) |
ggml-alloc : correctly check mmap return value for errors (#3075)
-rw-r--r-- | ggml-alloc.c | 6 |
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; |