🎨 Limit KaTex macro maximum recursive parsing depth is 16 https://github.com/siyuan-note/siyuan/issues/10484

This commit is contained in:
Daniel 2024-03-02 22:59:15 +08:00
parent 82d3297e2a
commit 8615c5f1c4
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 8 additions and 3 deletions

View file

@ -1933,7 +1933,8 @@ func processKaTexMacros(n *ast.Node) {
mathContent = escapeKaTexSupportedFunctions(mathContent)
usedMacros := extractUsedMacros(mathContent, &keys)
for _, usedMacro := range usedMacros {
expanded := resolveKaTexMacro(usedMacro, &macros, &keys)
depth := 1 // Limit KaTex macro maximum recursive parsing depth is 16 https://github.com/siyuan-note/siyuan/issues/10484
expanded := resolveKaTexMacro(usedMacro, &macros, &keys, &depth)
expanded = unescapeKaTexSupportedFunctions(expanded)
mathContent = strings.ReplaceAll(mathContent, usedMacro, expanded)
}