Bug: Prevent nil pointer panic in deployment metadata updates

オープン 初心者向け
#7,228 コメント 8 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

@omlahore がすでに取り組んでいます。

2026年9月4日 から。

  • #7229 @anubhavsingh2106 による — マージされずにクローズ
  • #7319 @omlahore による — マージされずにクローズ

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
74/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
go
領域
backend

調査の方向性

pkg/datastore/deploymentstore.go で UpdateSharedMetadata() と UpdatePluginMetadata() を読むことから始めます。MetadataV2 が nil の deployment で各パスを再現し、その後、両方のメソッドが nil ポインターの panic なしに完了し、メタデータ更新の動作が維持されることを確認します。

索引モデルが issue の本文から書いたものです。

説明

kind/bug

Bug: Prevent nil pointer panic in deployment metadata updates

Description

UpdateSharedMetadata() and UpdatePluginMetadata() in
pkg/datastore/deploymentstore.go can panic when called with a
deployment whose MetadataV2 field is nil.

Both methods access fields of MetadataV2 without first checking whether
the pointer has been initialized.

Affected Functions

  • UpdateSharedMetadata()
  • UpdatePluginMetadata()

File:

pkg/datastore/deploymentstore.go

Current Behavior

When MetadataV2 == nil, calling UpdateSharedMetadata() results in a
nil pointer dereference while accessing:

d.MetadataV2.Shared
主要言語
Go
スター
1.4k
フォーク
391
平均マージ
4日 1時間
マージ済み PR(30日)
58

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pipe-cd/pipecd のほかの issue

pipe-cd/pipecd の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。