From 5ea7988613c2167043a53a8650f9c43b3c70fd82 Mon Sep 17 00:00:00 2001 From: Vincent Demeester Date: Thu, 7 Jun 2018 19:52:40 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Mark=20@thajeztah=20as=20a=20MAINTAINER?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … discovered recently that our very own Sebastiaan was not even listed in the maintainers, so fixing this mistake ! Signed-off-by: Vincent Demeester Upstream-commit: 9fda91bed4f1907f3b5b40c53aa792adb9347b32 Component: cli --- components/cli/MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/components/cli/MAINTAINERS b/components/cli/MAINTAINERS index 0ea63a84ee..5f34ef0144 100644 --- a/components/cli/MAINTAINERS +++ b/components/cli/MAINTAINERS @@ -29,6 +29,7 @@ "justincormack", "silvin-lubecki", "stevvooe", + "thajeztah", "tibor", "tonistiigi", "vdemeester", From 17705eb1b4083f0d0edb437e96e1657f938004a2 Mon Sep 17 00:00:00 2001 From: Silvin Lubecki Date: Fri, 8 Jun 2018 16:14:48 +0200 Subject: [PATCH 2/2] Fix #1113 "Segfault on --help with --tlsverify if no ca certificate is present" Errors were not checked while initializing the docker client in the help command Signed-off-by: Silvin Lubecki Upstream-commit: f4b0780e20b0bfaa44185dc2e9549fb9b72fac0f Component: cli --- components/cli/cmd/docker/docker.go | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/components/cli/cmd/docker/docker.go b/components/cli/cmd/docker/docker.go index d9823c53fb..38a3d063cd 100644 --- a/components/cli/cmd/docker/docker.go +++ b/components/cli/cmd/docker/docker.go @@ -83,7 +83,9 @@ func setFlagErrorFunc(dockerCli *command.DockerCli, cmd *cobra.Command, flags *p // is called. flagErrorFunc := cmd.FlagErrorFunc() cmd.SetFlagErrorFunc(func(cmd *cobra.Command, err error) error { - initializeDockerCli(dockerCli, flags, opts) + if err := initializeDockerCli(dockerCli, flags, opts); err != nil { + return err + } if err := isSupported(cmd, dockerCli); err != nil { return err } @@ -94,7 +96,10 @@ func setFlagErrorFunc(dockerCli *command.DockerCli, cmd *cobra.Command, flags *p func setHelpFunc(dockerCli *command.DockerCli, cmd *cobra.Command, flags *pflag.FlagSet, opts *cliflags.ClientOptions) { defaultHelpFunc := cmd.HelpFunc() cmd.SetHelpFunc(func(ccmd *cobra.Command, args []string) { - initializeDockerCli(dockerCli, flags, opts) + if err := initializeDockerCli(dockerCli, flags, opts); err != nil { + ccmd.Println(err) + return + } if err := isSupported(ccmd, dockerCli); err != nil { ccmd.Println(err) return @@ -123,7 +128,9 @@ func setValidateArgs(dockerCli *command.DockerCli, cmd *cobra.Command, flags *pf cmdArgs := ccmd.Args ccmd.Args = func(cmd *cobra.Command, args []string) error { - initializeDockerCli(dockerCli, flags, opts) + if err := initializeDockerCli(dockerCli, flags, opts); err != nil { + return err + } if err := isSupported(cmd, dockerCli); err != nil { return err } @@ -132,13 +139,15 @@ func setValidateArgs(dockerCli *command.DockerCli, cmd *cobra.Command, flags *pf }) } -func initializeDockerCli(dockerCli *command.DockerCli, flags *pflag.FlagSet, opts *cliflags.ClientOptions) { - if dockerCli.Client() == nil { // when using --help, PersistentPreRun is not called, so initialization is needed. - // flags must be the top-level command flags, not cmd.Flags() - opts.Common.SetDefaultOptions(flags) - dockerPreRun(opts) - dockerCli.Initialize(opts) +func initializeDockerCli(dockerCli *command.DockerCli, flags *pflag.FlagSet, opts *cliflags.ClientOptions) error { + if dockerCli.Client() != nil { + return nil } + // when using --help, PersistentPreRun is not called, so initialization is needed. + // flags must be the top-level command flags, not cmd.Flags() + opts.Common.SetDefaultOptions(flags) + dockerPreRun(opts) + return dockerCli.Initialize(opts) } // visitAll will traverse all commands from the root.