From 90bf0cc2f61bc051e848ee6f202c43d7f5ae4ca0 Mon Sep 17 00:00:00 2001
From: Dave Tucker
Date: Thu, 10 Aug 2017 17:28:09 +0100
Subject: [PATCH] aws: Fix panic when there is no console output
When an AWS machine is stopped and there is no console output the CLI
panics due to a nil pointer dereference. This commit checks that the
console output is not null before attempting to decode it.
Signed-off-by: Dave Tucker
---
src/cmd/linuxkit/run_aws.go | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/cmd/linuxkit/run_aws.go b/src/cmd/linuxkit/run_aws.go
index aadab66d2..694d03b2d 100644
--- a/src/cmd/linuxkit/run_aws.go
+++ b/src/cmd/linuxkit/run_aws.go
@@ -167,12 +167,15 @@ func runAWS(args []string) {
log.Fatalf("Error getting output from instance %s: %s", *instanceID, err)
}
- out, err := base64.StdEncoding.DecodeString(*output.Output)
- if err != nil {
- log.Fatalf("Error decoding output: %s", err)
+ if output.Output == nil {
+ log.Warn("No Console Output found")
+ } else {
+ out, err := base64.StdEncoding.DecodeString(*output.Output)
+ if err != nil {
+ log.Fatalf("Error decoding output: %s", err)
+ }
+ fmt.Printf(string(out) + "\n")
}
- fmt.Printf(string(out) + "\n")
-
log.Infof("Terminating instance %s", *instanceID)
terminateParams := &ec2.TerminateInstancesInput{
InstanceIds: []*string{instanceID},