diff options
author | Yong Tang <yong.tang.github@outlook.com> | 2016-09-29 18:16:36 -0700 |
---|---|---|
committer | Yong Tang <yong.tang.github@outlook.com> | 2016-09-29 18:16:36 -0700 |
commit | 0fa20ad13b0b5c6d1bf8a8285717c07697d079ba (patch) | |
tree | 1363d4ffb30f49591f9f69f5ab9ad543d8157d0b /integration-cli/docker_cli_inspect_test.go | |
parent | 1d669d82c1d5691f9706112acdbe4f70812cf6aa (diff) | |
download | docker-0fa20ad13b0b5c6d1bf8a8285717c07697d079ba.tar.gz |
Disable HTML escaping for JSON strings in `docker inspect`
This fix tries to address the issue raised in 27021 where
HTML strings like (`&, >, <, etc`) in environmental variables
are escaped for JSON output for `docker inspect`. For example,
`TEST_ENV="soanni&rtr"` has been escaped to `TEST_ENV="soanni\u0026rtr"`
This fix disabled HTML escaping with `SetEscapeHTML`, which is available
since golang 1.7.0. This changes will be applied to all JSON output
that utilize `httputils.WriteJSON`.
An integration test has been added to cover the changes.
This fix fixes 27021.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Diffstat (limited to 'integration-cli/docker_cli_inspect_test.go')
-rw-r--r-- | integration-cli/docker_cli_inspect_test.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/integration-cli/docker_cli_inspect_test.go b/integration-cli/docker_cli_inspect_test.go index d28bb074ba..d99ae6d091 100644 --- a/integration-cli/docker_cli_inspect_test.go +++ b/integration-cli/docker_cli_inspect_test.go @@ -407,3 +407,13 @@ func (s *DockerSuite) TestInspectRootFS(c *check.C) { c.Assert(len(imageJSON[0].RootFS.Layers), checker.GreaterOrEqualThan, 1) } + +func (s *DockerSuite) TestInspectAmpersand(c *check.C) { + testRequires(c, DaemonIsLinux) + + name := "test" + out, _ := dockerCmd(c, "run", "--name", name, "--env", `TEST_ENV="soanni&rtr"`, "busybox", "env") + c.Assert(out, checker.Contains, `soanni&rtr`) + out, _ = dockerCmd(c, "inspect", name) + c.Assert(out, checker.Contains, `soanni&rtr`) +} |