Skip to content

Commit

Permalink
Merge pull request #3469 from xyz-li/main
Browse files Browse the repository at this point in the history
[fix] filter images panic
  • Loading branch information
AkihiroSuda committed Sep 28, 2024
2 parents b94c658 + 12e63b5 commit cd4a62a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
2 changes: 2 additions & 0 deletions cmd/nerdctl/image/image_list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ LABEL version=0.1`, testutil.CommonImage)
base.Cmd("images", "--filter", fmt.Sprintf("since=%s", testutil.CommonImage)).AssertOutNotContains(testutil.ImageRepo(testutil.CommonImage))
base.Cmd("images", "--filter", fmt.Sprintf("since=%s", testutil.CommonImage), testutil.CommonImage).AssertOutNotContains(testutil.ImageRepo(testutil.CommonImage))
base.Cmd("images", "--filter", fmt.Sprintf("since=%s", testutil.CommonImage), testutil.CommonImage).AssertOutNotContains(tempName)
base.Cmd("images", "--filter", fmt.Sprintf("since=%s:%s", "non-exists-image", "non-exists-image")).AssertOutContains(tempName)
base.Cmd("images", "--filter", fmt.Sprintf("before=%s:%s", "non-exists-image", "non-exists-image")).AssertOutContains(tempName)
}
base.Cmd("images", "--filter", "label=foo=bar").AssertOutContains(tempName)
base.Cmd("images", "--filter", "label=foo=bar1").AssertOutNotContains(tempName)
Expand Down
20 changes: 12 additions & 8 deletions pkg/imgutil/filtering.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,12 @@ func FilterByCreatedAt(ctx context.Context, client *containerd.Client, before []
if err != nil {
return []images.Image{}, err
}
maxTime = beforeImages[0].CreatedAt
for _, image := range beforeImages {
if image.CreatedAt.After(maxTime) {
maxTime = image.CreatedAt
if len(beforeImages) > 0 {
maxTime = beforeImages[0].CreatedAt
for _, image := range beforeImages {
if image.CreatedAt.After(maxTime) {
maxTime = image.CreatedAt
}
}
}
}
Expand All @@ -163,10 +165,12 @@ func FilterByCreatedAt(ctx context.Context, client *containerd.Client, before []
if err != nil {
return []images.Image{}, err
}
minTime = sinceImages[0].CreatedAt
for _, image := range sinceImages {
if image.CreatedAt.Before(minTime) {
minTime = image.CreatedAt
if len(sinceImages) > 0 {
minTime = sinceImages[0].CreatedAt
for _, image := range sinceImages {
if image.CreatedAt.Before(minTime) {
minTime = image.CreatedAt
}
}
}
}
Expand Down

0 comments on commit cd4a62a

Please sign in to comment.