Browse Source

Fix nil pointer derefence on failure to connect to containerd

Signed-off-by: Simão Reis <smnrsti@gmail.com>
(cherry picked from commit 3134161be3f578ff009673786684b3abbe9abb3f)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Simão Reis 6 years ago
parent
commit
0841c61862
1 changed files with 2 additions and 2 deletions
  1. 2 2
      libcontainerd/supervisor/remote_daemon.go

+ 2 - 2
libcontainerd/supervisor/remote_daemon.go

@@ -311,6 +311,8 @@ func (r *remote) monitorDaemon(ctx context.Context) {
 				delay = time.After(time.Duration(transientFailureCount) * 200 * time.Millisecond)
 				continue
 			}
+			client.Close()
+			client = nil
 		}
 
 		if system.IsProcessAlive(r.daemonPid) {
@@ -318,8 +320,6 @@ func (r *remote) monitorDaemon(ctx context.Context) {
 			r.killDaemon()
 		}
 
-		client.Close()
-		client = nil
 		r.daemonPid = -1
 		delay = nil
 		transientFailureCount = 0