Browse Source

c8d: Fix resolving truncated id to a descriptor

Regular expression beginning anchor was placed after `sha256:` digest
prefix.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Paweł Gronowski 2 years ago
parent
commit
596c8960b2
1 changed files with 1 additions and 1 deletions
  1. 1 1
      daemon/containerd/image.go

+ 1 - 1
daemon/containerd/image.go

@@ -180,7 +180,7 @@ func (i *ImageService) resolveDescriptor(ctx context.Context, refOrID string) (o
 	if truncatedID.MatchString(refOrID) {
 	if truncatedID.MatchString(refOrID) {
 		filters := []string{
 		filters := []string{
 			fmt.Sprintf("name==%q", ref), // Or it could just look like one.
 			fmt.Sprintf("name==%q", ref), // Or it could just look like one.
-			"target.digest~=" + strconv.Quote(fmt.Sprintf(`sha256:^%s[0-9a-fA-F]{%d}$`, regexp.QuoteMeta(refOrID), 64-len(refOrID))),
+			"target.digest~=" + strconv.Quote(fmt.Sprintf(`^sha256:%s[0-9a-fA-F]{%d}$`, regexp.QuoteMeta(refOrID), 64-len(refOrID))),
 		}
 		}
 		imgs, err := is.List(ctx, filters...)
 		imgs, err := is.List(ctx, filters...)
 		if err != nil {
 		if err != nil {