From 24b591ed62462e59f9a5bce0b8424e1c12db4260 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 6 Feb 2025 16:02:17 +0800 Subject: [PATCH] fix: nil pointer dereference --- internal/workflow/node-processor/apply_node.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/workflow/node-processor/apply_node.go b/internal/workflow/node-processor/apply_node.go index 76f180f0..d600ebb1 100644 --- a/internal/workflow/node-processor/apply_node.go +++ b/internal/workflow/node-processor/apply_node.go @@ -120,10 +120,12 @@ func (n *applyNode) checkCanSkip(ctx context.Context, lastOutput *domain.Workflo } lastCertificate, _ := n.certRepo.GetByWorkflowNodeId(ctx, n.node.Id) - renewalInterval := time.Duration(currentNodeConfig.SkipBeforeExpiryDays) * time.Hour * 24 - expirationTime := time.Until(lastCertificate.ExpireAt) - if lastCertificate != nil && expirationTime > renewalInterval { - return true, fmt.Sprintf("已申请过证书,且证书尚未临近过期(到期尚余 %d 天,预计距 %d 天时续期)", int(expirationTime.Hours()/24), currentNodeConfig.SkipBeforeExpiryDays) + if lastCertificate != nil { + renewalInterval := time.Duration(currentNodeConfig.SkipBeforeExpiryDays) * time.Hour * 24 + expirationTime := time.Until(lastCertificate.ExpireAt) + if expirationTime > renewalInterval { + return true, fmt.Sprintf("已申请过证书,且证书尚未临近过期(到期尚余 %d 天,预计距 %d 天时续期)", int(expirationTime.Hours()/24), currentNodeConfig.SkipBeforeExpiryDays) + } } }