From 7899bc9ada35f5450e08813b94fa570b2c3c7381 Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Wed, 16 Nov 2016 16:46:31 -0800 Subject: [PATCH] Fix crash caused by `docker service inspect --pretty` This fix tries to fix the crash caused by `docker service inspect --pretty`, by performing necessary nil pointer check. Signed-off-by: Yong Tang Upstream-commit: 4488d9f9fb416c9fe90acb774d1cd913fec80c22 Component: cli --- components/cli/command/formatter/service.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/cli/command/formatter/service.go b/components/cli/command/formatter/service.go index 1549047b72..aaa78386cb 100644 --- a/components/cli/command/formatter/service.go +++ b/components/cli/command/formatter/service.go @@ -263,6 +263,9 @@ func (ctx *serviceInspectContext) HasResources() bool { } func (ctx *serviceInspectContext) HasResourceReservations() bool { + if ctx.Service.Spec.TaskTemplate.Resources == nil || ctx.Service.Spec.TaskTemplate.Resources.Reservations == nil { + return false + } return ctx.Service.Spec.TaskTemplate.Resources.Reservations.NanoCPUs > 0 || ctx.Service.Spec.TaskTemplate.Resources.Reservations.MemoryBytes > 0 } @@ -281,6 +284,9 @@ func (ctx *serviceInspectContext) ResourceReservationMemory() string { } func (ctx *serviceInspectContext) HasResourceLimits() bool { + if ctx.Service.Spec.TaskTemplate.Resources == nil || ctx.Service.Spec.TaskTemplate.Resources.Limits == nil { + return false + } return ctx.Service.Spec.TaskTemplate.Resources.Limits.NanoCPUs > 0 || ctx.Service.Spec.TaskTemplate.Resources.Limits.MemoryBytes > 0 }