From dff9b2e10548e2c766698b81660fe692d000924b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjarke=20Viks=C3=B8e?= Date: Sat, 6 Jul 2024 23:34:00 +0200 Subject: [PATCH] Use intermediate vector for string assignment --- examples/server/server.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/server/server.cpp b/examples/server/server.cpp index 37b99d6e5..47bea1591 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -2970,8 +2970,10 @@ int main(int argc, char ** argv) { std::string template_key = "tokenizer.chat_template", curr_tmpl; int32_t tlen = llama_model_meta_val_str(ctx_server.model, template_key.c_str(), nullptr, 0); if (tlen > 0) { - curr_tmpl.resize(tlen + 1); - llama_model_meta_val_str(ctx_server.model, template_key.c_str(), &curr_tmpl[0], curr_tmpl.size()); + std::vector curr_tmpl_buf(tlen + 1, 0); + if (llama_model_meta_val_str(ctx_server.model, template_key.c_str(), curr_tmpl_buf.data(), curr_tmpl_buf.size()) == tlen) { + curr_tmpl = std::string(curr_tmpl_buf.data(), tlen); + } } res.set_header("Access-Control-Allow-Origin", req.get_header_value("Origin")); json data = {