mirror of https://github.com/containers/podman.git
				
				
				
			Minor fix splitting env vars in podman-commit
`string.Split()` splits into slice of size greater than 2 which may result in loss of environment variables fixes #3132 Signed-off-by: Divyansh Kamboj <kambojdivyansh2000@gmail.com>
This commit is contained in:
		
							parent
							
								
									00ecbfc131
								
							
						
					
					
						commit
						ee3381f8f2
					
				|  | @ -99,7 +99,7 @@ func (c *Container) Commit(ctx context.Context, destImage string, options Contai | |||
| 	// Should we store the ENV we actually want in the spec separately?
 | ||||
| 	if c.config.Spec.Process != nil { | ||||
| 		for _, e := range c.config.Spec.Process.Env { | ||||
| 			splitEnv := strings.Split(e, "=") | ||||
| 			splitEnv := strings.SplitN(e, "=", 2) | ||||
| 			importBuilder.SetEnv(splitEnv[0], splitEnv[1]) | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
|  | @ -194,4 +194,24 @@ var _ = Describe("Podman commit", func() { | |||
| 		Expect(r.ExitCode()).To(Equal(0)) | ||||
| 	}) | ||||
| 
 | ||||
| 	It("podman commit container check env variables", func() { | ||||
| 		s := podmanTest.Podman([]string{"run", "--name", "test1", "-e", "TEST=1=1-01=9.01", "-it", "alpine", "true"}) | ||||
| 		s.WaitWithDefaultTimeout() | ||||
| 		Expect(s.ExitCode()).To(Equal(0)) | ||||
| 
 | ||||
| 		c := podmanTest.Podman([]string{"commit", "test1", "newimage"}) | ||||
| 		c.WaitWithDefaultTimeout() | ||||
| 		Expect(c.ExitCode()).To(Equal(0)) | ||||
| 
 | ||||
| 		inspect := podmanTest.Podman([]string{"inspect", "newimage"}) | ||||
| 		inspect.WaitWithDefaultTimeout() | ||||
| 		Expect(inspect.ExitCode()).To(Equal(0)) | ||||
| 		image := inspect.InspectImageJSON() | ||||
| 
 | ||||
| 		envMap := make(map[string]bool) | ||||
| 		for _, v := range image[0].Config.Env { | ||||
| 			envMap[v] = true | ||||
| 		} | ||||
| 		Expect(envMap["TEST=1=1-01=9.01"]).To(BeTrue()) | ||||
| 	}) | ||||
| }) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue