Skip to content

Commit

Permalink
[fix] filter images panic
Browse files Browse the repository at this point in the history
Signed-off-by: xyz-li <[email protected]>
  • Loading branch information
xyz-li committed Sep 27, 2024
1 parent b2a7039 commit a9fd7b5
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
3 changes: 3 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,9 @@ 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", 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 a9fd7b5

Please sign in to comment.