diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-06-21 01:51:24 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-06-21 02:09:01 +0900 |
| commit | 218f7fa34565a8cfdf93824cd6d69f04b3cd4141 (patch) | |
| tree | 884295afcfb9613a92b7800efd44aca7e578d0ee /cmd/app/app.go | |
| parent | cd493fd95f78b023c159c10571a0de8d701c4b27 (diff) | |
cmd/app: enforce mutable instance exclusion
This avoids invoking undefined behaviour in the underlying overlay filesystem implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd/app/app.go')
| -rw-r--r-- | cmd/app/app.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cmd/app/app.go b/cmd/app/app.go index 9fa49696..a8508676 100644 --- a/cmd/app/app.go +++ b/cmd/app/app.go @@ -31,7 +31,12 @@ func parsePair(s string) (source, target *check.Absolute, err error) { // parse decodes a high-level configuration stream and returns its // corresponding [hst.Config]. -func parse(id string, base *check.Absolute, r io.Reader) (*hst.Config, error) { +func parse( + id string, + base *check.Absolute, + r io.Reader, + templateP *string, +) (*hst.Config, error) { shell := fhs.AbsRoot.Append("bin", "zsh") home := hst.AbsPrivateTmp.Append("home") @@ -99,6 +104,9 @@ func parse(id string, base *check.Absolute, r io.Reader) (*hst.Config, error) { } else if v, err := strconv.Atoi(identity); err != nil { return nil, err } else { + if templateP != nil { + *templateP = template + } c.Identity = v root.Upper = base.Append("template", template) } |
