api/tag: Reject digested target references

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This commit is contained in:
Paweł Gronowski 2023-01-25 10:48:26 +01:00
parent eaa56afda9
commit b3a8b6b198
No known key found for this signature in database
GPG key ID: B85EFCFE26DEF92A

View file

@ -378,6 +378,10 @@ func (ir *imageRouter) postImagesTag(ctx context.Context, w http.ResponseWriter,
return errdefs.InvalidParameter(err)
}
if _, isDigested := ref.(reference.Digested); isDigested {
return errdefs.InvalidParameter(errors.New("tag reference can't have a digest"))
}
if tag != "" {
if ref, err = reference.WithTag(reference.TrimNamed(ref), tag); err != nil {
return errdefs.InvalidParameter(err)