From c3bd0daf04b4e6419acc2d3aad337d749244bde8 Mon Sep 17 00:00:00 2001 From: hono0130 Date: Thu, 20 Nov 2025 17:14:46 +0900 Subject: [PATCH] fix: prevent nil pointer dereference in eventwatcher re-clone Signed-off-by: hono0130 --- pkg/app/piped/eventwatcher/eventwatcher.go | 4 +++- pkg/app/pipedv1/eventwatcher/eventwatcher.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/app/piped/eventwatcher/eventwatcher.go b/pkg/app/piped/eventwatcher/eventwatcher.go index f9d34f01eb..f29b244e20 100644 --- a/pkg/app/piped/eventwatcher/eventwatcher.go +++ b/pkg/app/piped/eventwatcher/eventwatcher.go @@ -198,12 +198,14 @@ func (w *watcher) run(ctx context.Context, repo git.Repo, repoCfg config.PipedRe w.logger.Info("Try to re-clone because it's more likely to be unable to pull the next time too", zap.String("repo-id", repoCfg.RepoID), ) - repo, err = w.cloneRepo(ctx, repoCfg) + newRepo, err := w.cloneRepo(ctx, repoCfg) if err != nil { w.logger.Error("failed to re-clone repository", zap.String("repo-id", repoCfg.RepoID), zap.Error(err), ) + } else { + repo = newRepo } continue } diff --git a/pkg/app/pipedv1/eventwatcher/eventwatcher.go b/pkg/app/pipedv1/eventwatcher/eventwatcher.go index ac749bf94e..96adf31450 100644 --- a/pkg/app/pipedv1/eventwatcher/eventwatcher.go +++ b/pkg/app/pipedv1/eventwatcher/eventwatcher.go @@ -194,12 +194,14 @@ func (w *watcher) run(ctx context.Context, repo git.Repo, repoCfg config.PipedRe w.logger.Info("Try to re-clone because it's more likely to be unable to pull the next time too", zap.String("repo-id", repoCfg.RepoID), ) - repo, err = w.cloneRepo(ctx, repoCfg) + newRepo, err := w.cloneRepo(ctx, repoCfg) if err != nil { w.logger.Error("failed to re-clone repository", zap.String("repo-id", repoCfg.RepoID), zap.Error(err), ) + } else { + repo = newRepo } continue }