server: add nil checks to not panic
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
This commit is contained in:
parent
5ed79fb5cd
commit
404194c1fd
3 changed files with 14 additions and 2 deletions
|
@ -29,8 +29,11 @@ func (s *Server) Exec(ctx context.Context, req *pb.ExecRequest) (*pb.ExecRespons
|
|||
|
||||
// Exec endpoint for streaming.Runtime
|
||||
func (ss streamService) Exec(containerID string, cmd []string, stdin io.Reader, stdout, stderr io.WriteCloser, tty bool, resize <-chan term.Size) error {
|
||||
fmt.Println(containerID, cmd, stdin, stdout, stderr, tty, resize)
|
||||
c := ss.runtimeServer.state.containers.Get(containerID)
|
||||
c := ss.runtimeServer.GetContainer(containerID)
|
||||
|
||||
if c == nil {
|
||||
return fmt.Errorf("could not find container %q", containerID)
|
||||
}
|
||||
|
||||
if err := ss.runtimeServer.runtime.UpdateStatus(c); err != nil {
|
||||
return err
|
||||
|
|
|
@ -29,6 +29,10 @@ func (s *Server) PortForward(ctx context.Context, req *pb.PortForwardRequest) (*
|
|||
func (ss streamService) PortForward(podSandboxID string, port int32, stream io.ReadWriteCloser) error {
|
||||
c := ss.runtimeServer.GetSandboxContainer(podSandboxID)
|
||||
|
||||
if c == nil {
|
||||
return fmt.Errorf("could not find container for sandbox %q", podSandboxID)
|
||||
}
|
||||
|
||||
if err := ss.runtimeServer.runtime.UpdateStatus(c); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -678,6 +678,11 @@ func (s *Server) GetSandboxContainer(id string) *oci.Container {
|
|||
return sb.infraContainer
|
||||
}
|
||||
|
||||
// GetContainer returns a container by its ID
|
||||
func (s *Server) GetContainer(id string) *oci.Container {
|
||||
return s.getContainer(id)
|
||||
}
|
||||
|
||||
func (s *Server) removeContainer(c *oci.Container) {
|
||||
s.stateLock.Lock()
|
||||
sandbox := s.state.sandboxes[c.Sandbox()]
|
||||
|
|
Loading…
Reference in a new issue