From: DavidKorczynski Date: Mon, 12 Aug 2024 12:36:41 +0000 (+0100) Subject: grammar-parser : fix possible null-deref (#9004) X-Git-Tag: upstream/0.0.4488~912 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=1262e7ed13ac197c944f15e1ddb083cb4f36cf65;p=pkg%2Fggml%2Fsources%2Fllama.cpp grammar-parser : fix possible null-deref (#9004) Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=70680 Signed-off-by: David Korczynski --- diff --git a/common/grammar-parser.cpp b/common/grammar-parser.cpp index a518b766..438452ea 100644 --- a/common/grammar-parser.cpp +++ b/common/grammar-parser.cpp @@ -369,6 +369,9 @@ namespace grammar_parser { } // Validate the state to ensure that all rules are defined for (const auto & rule : state.rules) { + if (rule.empty()) { + throw std::runtime_error("Undefined rule"); + } for (const auto & elem : rule) { if (elem.type == LLAMA_GRETYPE_RULE_REF) { // Ensure that the rule at that location exists