Check for non-nil container after match

There can be a race between getting the container ids for matches and
getting the actual container.  This makes sure that we check that the
container returned by `Get` is non-nil before adding it to the list of
matches.

Fixes #25991

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
(cherry picked from commit a020ec4c8b)
Signed-off-by: Victor Vieux <vieux@docker.com>
This commit is contained in:
Michael Crosby 2016-08-26 10:02:10 -07:00 committed by Victor Vieux
parent 667c02ce8c
commit aaaeb84ac6
1 changed files with 3 additions and 1 deletions

View File

@ -157,7 +157,9 @@ func (daemon *Daemon) filterByNameIDMatches(ctx *listContext) []*container.Conta
cntrs := make([]*container.Container, 0, len(matches))
for id := range matches {
cntrs = append(cntrs, daemon.containers.Get(id))
if c := daemon.containers.Get(id); c != nil {
cntrs = append(cntrs, c)
}
}
// Restore sort-order after filtering