From e8e06f78e253a98a739b8ae4c6b661b357249ce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Mon, 3 Aug 2026 17:40:53 +0200 Subject: [PATCH] vocab : validate default special token ids (#26506) --- src/llama-vocab.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp index 443cd4640..10032a8c6 100644 --- a/src/llama-vocab.cpp +++ b/src/llama-vocab.cpp @@ -2532,6 +2532,12 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) { const std::string & key = kv(std::get<0>(it)); int32_t & id = std::get<1>(it); + if (id >= 0 && static_cast(id) >= id_to_token.size()) { + LLAMA_LOG_WARN("%s: default special token '%s' = %d out of vocab range, disabling\n", + __func__, key.c_str(), id); + id = LLAMA_TOKEN_NULL; + } + uint32_t new_id; if (!ml.get_key(std::get<0>(it), new_id, false)) { continue;