mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-25 06:52:13 +00:00
Sandbox: Fix ContainerConfig ptr in CreateContainer and createContainers
The pointer that send to newContainer in CreateContainer and createContainers is not the pointer that point to the address in s.config.Containers. This commit fix this issue. Fixes: #1758 Signed-off-by: Hui Zhu <teawater@antfin.com>
This commit is contained in:
parent
fb30c58847
commit
831224aa22
@ -1099,15 +1099,11 @@ func (s *Sandbox) addContainer(c *Container) error {
|
||||
// This should be called only when the sandbox is already created.
|
||||
// It will add new container config to sandbox.config.Containers
|
||||
func (s *Sandbox) CreateContainer(ctx context.Context, contConfig ContainerConfig) (VCContainer, error) {
|
||||
// Create the container object, add devices to the sandbox's device-manager:
|
||||
c, err := newContainer(ctx, s, &contConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Update sandbox config to include the new container's config
|
||||
s.config.Containers = append(s.config.Containers, contConfig)
|
||||
|
||||
var err error
|
||||
|
||||
defer func() {
|
||||
if err != nil {
|
||||
if len(s.config.Containers) > 0 {
|
||||
@ -1117,6 +1113,12 @@ func (s *Sandbox) CreateContainer(ctx context.Context, contConfig ContainerConfi
|
||||
}
|
||||
}()
|
||||
|
||||
// Create the container object, add devices to the sandbox's device-manager:
|
||||
c, err := newContainer(ctx, s, &s.config.Containers[len(s.config.Containers)-1])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// create and start the container
|
||||
err = c.create(ctx)
|
||||
if err != nil {
|
||||
@ -1434,9 +1436,9 @@ func (s *Sandbox) createContainers(ctx context.Context) error {
|
||||
span, ctx := s.trace(ctx, "createContainers")
|
||||
defer span.End()
|
||||
|
||||
for _, contConfig := range s.config.Containers {
|
||||
for i := range s.config.Containers {
|
||||
|
||||
c, err := newContainer(ctx, s, &contConfig)
|
||||
c, err := newContainer(ctx, s, &s.config.Containers[i])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user