summaryrefslogtreecommitdiff
path: root/crates/typst-cli/src
diff options
context:
space:
mode:
authorMyriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com>2025-03-31 16:08:55 +0800
committerGitHub <noreply@github.com>2025-03-31 08:08:55 +0000
commit758ee78ef57ebbaadacc50817620a540bcf8beeb (patch)
tree5afc87df894c3d147971a6c660069176e4ba2d2f /crates/typst-cli/src
parentefdb75558f20543af39f75fb88b3bae59b20e2e8 (diff)
Make `World::font` implementations safe (#6117)
Diffstat (limited to 'crates/typst-cli/src')
-rw-r--r--crates/typst-cli/src/world.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/crates/typst-cli/src/world.rs b/crates/typst-cli/src/world.rs
index 12e80d27..2da03d4d 100644
--- a/crates/typst-cli/src/world.rs
+++ b/crates/typst-cli/src/world.rs
@@ -210,7 +210,9 @@ impl World for SystemWorld {
}
fn font(&self, index: usize) -> Option<Font> {
- self.fonts[index].get()
+ // comemo's validation may invoke this function with an invalid index. This is
+ // impossible in typst-cli but possible if a custom tool mutates the fonts.
+ self.fonts.get(index)?.get()
}
fn today(&self, offset: Option<i64>) -> Option<Datetime> {