From 3fa61f0004b04340a697a256ff51589a4d3f7c93 Mon Sep 17 00:00:00 2001
From: Paul Holzinger <paul.holzinger@web.de>
Date: Thu, 10 Dec 2020 14:22:36 +0100
Subject: [PATCH] Fix panic in libpod images exists endpoint

The libpod images exists endpoint panics when called with
a non existing image and therefore returns 500 as status
code instead of the expected 404.

A test is added to ensure it is working.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
---
 pkg/api/handlers/libpod/images.go | 2 +-
 test/apiv2/10-images.at           | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/pkg/api/handlers/libpod/images.go b/pkg/api/handlers/libpod/images.go
index 6145207ca5..505c96126e 100644
--- a/pkg/api/handlers/libpod/images.go
+++ b/pkg/api/handlers/libpod/images.go
@@ -51,7 +51,7 @@ func ImageExists(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 	if !report.Value {
-		utils.Error(w, "Something went wrong.", http.StatusNotFound, errors.Wrapf(nil, "failed to find image %s", name))
+		utils.Error(w, "Something went wrong.", http.StatusNotFound, errors.Errorf("failed to find image %s", name))
 		return
 	}
 	utils.WriteResponse(w, http.StatusNoContent, "")
diff --git a/test/apiv2/10-images.at b/test/apiv2/10-images.at
index c105a92787..7b500bf579 100644
--- a/test/apiv2/10-images.at
+++ b/test/apiv2/10-images.at
@@ -12,6 +12,8 @@ iid=$(jq -r '.[0].Id' <<<"$output")
 
 t GET libpod/images/$iid/exists                     204
 t GET libpod/images/$PODMAN_TEST_IMAGE_NAME/exists  204
+t GET libpod/images/${iid}abcdef/exists  404 \
+  .cause="failed to find image ${iid}abcdef"
 
 # FIXME: compare to actual podman info
 t GET libpod/images/json 200  \