From 34a080faa938b5cc18be5211254a2c175284a336 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Wed, 12 Dec 2018 09:46:53 -0800 Subject: [PATCH] Issue #922 - Fix nil derefrence error in 'argocd app diff' command (#925) --- cmd/argocd/commands/app.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go index bd947e4173..8d20ff5f5d 100644 --- a/cmd/argocd/commands/app.go +++ b/cmd/argocd/commands/app.go @@ -679,8 +679,11 @@ func NewApplicationDiffCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co key := kube.NewResourceKey(res.Group, res.Kind, res.Namespace, res.Name) if local, ok := localObjs[key]; ok || live != nil { - err = kube.SetAppInstanceLabel(local, appName) - errors.CheckError(err) + if local != nil { + err = kube.SetAppInstanceLabel(local, appName) + errors.CheckError(err) + } + items = append(items, struct { key kube.ResourceKey live *unstructured.Unstructured @@ -732,7 +735,7 @@ func NewApplicationDiffCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co // Diff is already available in ResourceDiff Diff field but we have to recalculate diff again due to https://github.com/yudai/gojsondiff/issues/31 diffRes := diff.Diff(item.target, item.live) fmt.Printf("===== %s/%s %s/%s======\n", item.key.Group, item.key.Kind, item.key.Namespace, item.key.Name) - if diffRes.Modified { + if diffRes.Modified || item.target == nil || item.live == nil { formatOpts := formatter.AsciiFormatterConfig{ Coloring: terminal.IsTerminal(int(os.Stdout.Fd())), }