From 4f2f0f58e28bccfbfb37058de300657690072a44 Mon Sep 17 00:00:00 2001 From: yusing Date: Sat, 11 Oct 2025 13:12:45 +0800 Subject: [PATCH] fix(autocert): nil dereference --- internal/config/state.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/config/state.go b/internal/config/state.go index d16cc3f6..cc5d9403 100644 --- a/internal/config/state.go +++ b/internal/config/state.go @@ -76,7 +76,11 @@ func SetState(state config.State) { acl.ActiveConfig.Store(cfg.ACL) entrypoint.ActiveConfig.Store(&cfg.Entrypoint) homepage.ActiveConfig.Store(&cfg.Homepage) - autocert.ActiveProvider.Store(state.AutoCertProvider().(*autocert.Provider)) + if autocertProvider := state.AutoCertProvider(); autocertProvider != nil { + autocert.ActiveProvider.Store(autocertProvider.(*autocert.Provider)) + } else { + autocert.ActiveProvider.Store(nil) + } } func HasState() bool { @@ -141,6 +145,9 @@ func (state *state) EntrypointHandler() http.Handler { // // If the autocert provider is not configured, it returns nil. func (state *state) AutoCertProvider() server.CertProvider { + if state.autocertProvider == nil { + return nil + } return state.autocertProvider }