From: Gilad S Date: Wed, 16 Oct 2024 23:34:22 +0000 (+0300) Subject: fix: allocating CPU buffer with size `0` (llama/9917) X-Git-Tag: upstream/0.0.1642~281 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=2641927356096afffe0073f4e1c2bb83dac6be69;p=pkg%2Fggml%2Fsources%2Fggml fix: allocating CPU buffer with size `0` (llama/9917) --- diff --git a/src/ggml-backend.cpp b/src/ggml-backend.cpp index 6d6ffeb4..4b9bac21 100644 --- a/src/ggml-backend.cpp +++ b/src/ggml-backend.cpp @@ -768,14 +768,19 @@ static const char * ggml_backend_cpu_buffer_type_get_name(ggml_backend_buffer_ty } static ggml_backend_buffer_t ggml_backend_cpu_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { - void * data = ggml_aligned_malloc(size); + auto alloc_size = size; + if (alloc_size == 0) { + alloc_size = 1; + } + + void * data = ggml_aligned_malloc(alloc_size); if (data == NULL) { - GGML_LOG_ERROR("%s: failed to allocate buffer of size %zu\n", __func__, size); + GGML_LOG_ERROR("%s: failed to allocate buffer of size %zu\n", __func__, alloc_size); return NULL; } - return ggml_backend_buffer_init(buft, ggml_backend_cpu_buffer_i, data, size); + return ggml_backend_buffer_init(buft, ggml_backend_cpu_buffer_i, data, alloc_size); } static size_t ggml_backend_cpu_buffer_type_get_alignment(ggml_backend_buffer_type_t buft) {