aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/init.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-08-21 00:18:50 +0900
committerOphestra <cat@gensokyo.uk>2025-08-21 00:18:50 +0900
commit5d8a2199b6c8dc5f75b529a39d196c6cb14c98c2 (patch)
tree5ad693466483081342b24df929365490015b4efa /container/init.go
parenta1482ecdd0f98728f4b97137cd7b2fa17f67bb89 (diff)
container/init: op interface valid method
Check ops early and eliminate duplicate checks. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/init.go')
-rw-r--r--container/init.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/container/init.go b/container/init.go
index d516a3c2..663bbc83 100644
--- a/container/init.go
+++ b/container/init.go
@@ -52,6 +52,7 @@ type (
prefix() string
Is(op Op) bool
+ Valid() bool
fmt.Stringer
}
@@ -167,8 +168,8 @@ func Init(prepare func(prefix string), setVerbose func(verbose bool)) {
via library functions after pivot_root, and implementations are expected to avoid changing
the state of the mount namespace */
for i, op := range *params.Ops {
- if op == nil {
- log.Fatalf("invalid op %d", i)
+ if op == nil || !op.Valid() {
+ log.Fatalf("invalid op at index %d", i)
}
if err := op.early(state); err != nil {