* common: add bounds check in common_init_result::sampler to prevent segfault on failed model load
* Revert
a308e584cae3fa8cee1d739a858a2d780f1de009
* Add regression test
* Remove regression test for init-fail sampler check
}
common_sampler * common_init_result::sampler(llama_seq_id seq_id) {
+ if (seq_id < 0 || seq_id >= (int) pimpl->samplers.size()) {
+ return nullptr;
+ }
return pimpl->samplers[seq_id].get();
}
ctx = llama_init->context();
model = llama_init->model();
+ smpl = llama_init->sampler(0);
if (ctx == NULL) {
LOG_ERR("%s: error: unable to create context\n", __func__);
return 1;
}
- if (model == NULL) {
- LOG_ERR("%s: error: unable to load model\n", __func__);
- return 1;
- }
-
- smpl = llama_init->sampler(0);
-
llama_memory_t mem = llama_get_memory(ctx);
const llama_vocab * vocab = llama_model_get_vocab(model);