Skip to content

Commit bccf9a7

Browse files
authored
Fix the crash caused by interface null value judgment error in golang. (#2245)
* fix init docker client * update test
1 parent 25452f3 commit bccf9a7

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

pkg/helper/containercenter/container_center.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,7 @@ func (dc *ContainerCenter) initClient() error {
11881188
// do not CreateDockerClient multi times
11891189
if dc.client == nil {
11901190
if dc.client, err = CreateDockerClient(); err != nil {
1191+
dc.client = nil
11911192
dc.setLastError(err, "init docker client from env error")
11921193
return err
11931194
}

pkg/helper/containercenter/container_center_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -576,3 +576,12 @@ func TestContainerCenterFetchAllAndOne(t *testing.T) {
576576
assert.Equal(t, true, container.deleteFlag)
577577
}
578578
}
579+
580+
func TestInitClientMutiTime(t *testing.T) {
581+
containerCenterInstance = &ContainerCenter{}
582+
for i := 0; i < 100; i++ {
583+
err := containerCenterInstance.initClient()
584+
assert.NotNil(t, err)
585+
assert.Nil(t, containerCenterInstance.client)
586+
}
587+
}

0 commit comments

Comments
 (0)