llama.cpp
7ee953a6 - llama : add llama_sampler_init for safe usage of llama_sampler_free (#11727)

Commit
311 days ago
llama : add llama_sampler_init for safe usage of llama_sampler_free (#11727) The C API in llama.h claims users can implement `llama_sampler_i` to create custom `llama_sampler`. The sampler chain takes ownership and calls `llama_sampler_free` on them. However, `llama_sampler_free` is hard-coded to use `delete`. This is undefined behavior if the object wasn't also allocated via `new` from libllama's C++ runtime. Callers in C and C-compatible languages do not use C++'s `new` operator. C++ callers may not be sharing the same heap as libllama.
Author
Parents
Loading