]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
common : fix incorrect uses of stoul (#20313)
authorSigbjørn Skjæret <redacted>
Tue, 10 Mar 2026 10:40:26 +0000 (11:40 +0100)
committerGitHub <redacted>
Tue, 10 Mar 2026 10:40:26 +0000 (11:40 +0100)
common/arg.cpp
common/json-schema-to-grammar.cpp
src/llama-grammar.cpp

index ec2c7de16ee690c77e1c0a3e43ed9aaf54c8f192..0be6b28eb295e6ddb11ac4a0af7cbfc9fc3a34de 100644 (file)
@@ -2427,11 +2427,11 @@ common_params_context common_params_parser_init(common_params & params, llama_ex
                 );
             }
             if (split_arg.size() == 1) {
-                std::fill(params.fit_params_target.begin(), params.fit_params_target.end(), std::stoul(split_arg[0]) * 1024*1024);
+                std::fill(params.fit_params_target.begin(), params.fit_params_target.end(), std::stoull(split_arg[0]) * 1024*1024);
                 return;
             }
             for (size_t i = 0; i < split_arg.size(); i++) {
-                params.fit_params_target[i] = std::stoul(split_arg[i]) * 1024*1024;
+                params.fit_params_target[i] = std::stoull(split_arg[i]) * 1024*1024;
             }
         }
     ).set_env("LLAMA_ARG_FIT_TARGET"));
index 27f13f034ed56ea3b9dd61b1b93341fbd9102a3e..c7057d651d16a5a34f2d7784c4483a4973746e1e 100644 (file)
@@ -790,7 +790,7 @@ public:
                             } else if (target.is_array()) {
                                 size_t sel_index;
                                 try {
-                                    sel_index = std::stoul(sel);
+                                    sel_index = std::stoull(sel);
                                 } catch (const std::invalid_argument & e) {
                                     sel_index = target.size();
                                 }
index 2d55070cecc91463b900fb2ceaf296b9cf768bce..3b7a625234e77cc1a8f388d71e7fae5dfd1b3f37 100644 (file)
@@ -601,7 +601,7 @@ const char * llama_grammar_parser::parse_sequence(
                 throw std::runtime_error(std::string("expecting an int at ") + pos);
             }
             const char * int_end = parse_int(pos);
-            uint64_t min_times = std::stoul(std::string(pos, int_end - pos));
+            uint64_t min_times = std::stoull(std::string(pos, int_end - pos));
             pos = parse_space(int_end, is_nested);
 
             uint64_t max_times = UINT64_MAX; // default: no max limit
@@ -614,7 +614,7 @@ const char * llama_grammar_parser::parse_sequence(
 
                 if (is_digit_char(*pos)) {
                     const char * int_end = parse_int(pos);
-                    max_times = std::stoul(std::string(pos, int_end - pos));
+                    max_times = std::stoull(std::string(pos, int_end - pos));
                     pos = parse_space(int_end, is_nested);
                 }