llama: allocate grammar buffer based on schema length (#10649)

This commit is contained in:
frob 2025-05-10 20:57:30 +02:00 committed by GitHub
parent 69ce44b33c
commit ecf14a220f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -637,8 +637,8 @@ func SchemaToGrammar(schema []byte) []byte {
cStr := C.CString(string(schema))
defer C.free(unsafe.Pointer(cStr))
// Allocate buffer for grammar output with reasonable size
const maxLen = 32768 // 32KB
// Allocate buffer for grammar based on schema length but with upper bound
maxLen := min(1024*1024, len(schema)*4)
buf := make([]byte, maxLen)
// Call C function to convert schema to grammar