ggml-alloc : correctly check mmap return value for errors

This commit is contained in:
slaren 2023-09-08 03:33:02 +02:00
parent 6336d834ec
commit b5b8ff9f51

View file

@ -316,7 +316,11 @@ static void * alloc_vmem(size_t size) {
#if defined(_WIN32) #if defined(_WIN32)
return VirtualAlloc(NULL, size, MEM_RESERVE, PAGE_NOACCESS); return VirtualAlloc(NULL, size, MEM_RESERVE, PAGE_NOACCESS);
#elif defined(_POSIX_MAPPED_FILES) #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 #else
// use a fixed address for other platforms // use a fixed address for other platforms
uintptr_t base_addr = (uintptr_t)-size - 0x100; uintptr_t base_addr = (uintptr_t)-size - 0x100;