From 080446fbf968aa42f26eb79b0e15242b95e3a35f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= Date: Fri, 28 Mar 2025 21:42:04 -0400 Subject: [PATCH] client/oci: Only replace the first match MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber --- client/oci_images.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/oci_images.go b/client/oci_images.go index 5952b3b20..189b87ce9 100644 --- a/client/oci_images.go +++ b/client/oci_images.go @@ -191,7 +191,7 @@ func (r *ProtocolOCI) GetImageFile(fingerprint string, req ImageFileRequest) (*I "--insecure-policy", "copy", "--remove-signatures", - fmt.Sprintf("%s/%s", strings.ReplaceAll(r.httpHost, "https://", "docker://"), info.Alias), + fmt.Sprintf("%s/%s", strings.Replace(r.httpHost, "https://", "docker://", 1), info.Alias), fmt.Sprintf("oci:%s:latest", filepath.Join(ociPath, "oci"))) if err != nil { logger.Debug("Error copying remote image to local", logger.Ctx{"image": info.Alias, "stdout": stdout, "stderr": err}) @@ -367,7 +367,7 @@ func (r *ProtocolOCI) GetImageAlias(name string) (*api.ImageAliasesEntry, string nil, "skopeo", "inspect", - fmt.Sprintf("%s/%s", strings.ReplaceAll(r.httpHost, "https://", "docker://"), name)) + fmt.Sprintf("%s/%s", strings.Replace(r.httpHost, "https://", "docker://", 1), name)) if err != nil { logger.Debug("Error getting image alias", logger.Ctx{"name": name, "stdout": stdout, "stderr": err}) return nil, "", err @@ -381,7 +381,7 @@ func (r *ProtocolOCI) GetImageAlias(name string) (*api.ImageAliasesEntry, string } info.Alias = name - info.Digest = strings.ReplaceAll(info.Digest, "sha256:", "") + info.Digest = strings.Replace(info.Digest, "sha256:", "", 1) archID, err := osarch.ArchitectureID(info.Architecture) if err != nil {