From 304bf53c28301a8dfd126f2304e02df5472e56b1 Mon Sep 17 00:00:00 2001
From: baude <bbaude@redhat.com>
Date: Mon, 26 Mar 2018 18:28:20 -0500
Subject: [PATCH] cmd/podman/run.go: Error nicely when no image found

When no image is found, display a useful error message. Also, in imageToRef
protect against a nil image being passed.

Resolves: #553

Signed-off-by: baude <bbaude@redhat.com>

Closes: #555
Approved by: mheon
---
 cmd/podman/run.go     | 3 +++
 libpod/image/image.go | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/cmd/podman/run.go b/cmd/podman/run.go
index 523b973fb1..21320f57c1 100644
--- a/cmd/podman/run.go
+++ b/cmd/podman/run.go
@@ -56,6 +56,9 @@ func runCmd(c *cli.Context) error {
 
 	rtc := runtime.GetConfig()
 	newImage, err := runtime.ImageRuntime().New(c.Args()[0], rtc.SignaturePolicyPath, "", os.Stderr, nil, image.SigningOptions{})
+	if err != nil {
+		return errors.Wrapf(err, "unable to find image")
+	}
 
 	data, err := newImage.Inspect()
 	if err != nil {
diff --git a/libpod/image/image.go b/libpod/image/image.go
index b08fa1acd0..22268ac455 100644
--- a/libpod/image/image.go
+++ b/libpod/image/image.go
@@ -465,6 +465,9 @@ func (i *Image) ToImageRef() (types.Image, error) {
 
 // toImageRef returns an Image Reference type from an image
 func (i *Image) toImageRef() (types.Image, error) {
+	if i == nil {
+		return nil, errors.Errorf("cannot convert nil image to image reference")
+	}
 	if i.imgRef == nil {
 		ref, err := is.Transport.ParseStoreReference(i.imageruntime.store, "@"+i.ID())
 		if err != nil {