From 5f1217e5ecba13b79a1ef33c4bffa122fac2fa62 Mon Sep 17 00:00:00 2001 From: mei2jun1 Date: Thu, 21 May 2026 18:28:06 +0800 Subject: [PATCH] fix: nil pointer dereference when os.OpenFile fails --- agent/app/service/website_ssl.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agent/app/service/website_ssl.go b/agent/app/service/website_ssl.go index 92ac08aaa78e..fc04b5e55728 100644 --- a/agent/app/service/website_ssl.go +++ b/agent/app/service/website_ssl.go @@ -199,8 +199,12 @@ func (w WebsiteSSLService) Create(create request.WebsiteSSLCreate) (request.Webs return res, err } create.ID = websiteSSL.ID - logFile, _ := os.OpenFile(path.Join(global.Dir.SSLLogDir, fmt.Sprintf("%s-ssl-%d.log", websiteSSL.PrimaryDomain, websiteSSL.ID)), os.O_CREATE|os.O_WRONLY|os.O_TRUNC, constant.FilePerm) - logFile.Close() + logFile, err := os.OpenFile(path.Join(global.Dir.SSLLogDir, fmt.Sprintf("%s-ssl-%d.log", websiteSSL.PrimaryDomain, websiteSSL.ID)), os.O_CREATE|os.O_WRONLY|os.O_TRUNC, constant.FilePerm) + if err != nil { + global.LOG.Errorf("open ssl log file failed, domain: %s, err: %v", websiteSSL.PrimaryDomain, err) + } else { + logFile.Close() + } go func() { if create.Provider != constant.DnsManual { if err = w.ObtainSSL(request.WebsiteSSLApply{