mirror of
https://github.com/containers/podman.git
synced 2026-05-25 00:53:43 -04:00
Merge pull request #28723 from SebTardif/fix/close-directory-handle-registries-d
pkg/trust: fix directory handle leak in loadAndMergeConfig
This commit is contained in:
@@ -63,6 +63,7 @@ func loadAndMergeConfig(dirPath string) (*registryConfiguration, error) {
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
defer dir.Close()
|
||||
configNames, err := dir.Readdirnames(0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
29
pkg/trust/registries_test.go
Normal file
29
pkg/trust/registries_test.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package trust
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestLoadAndMergeConfig(t *testing.T) {
|
||||
// Non-existent directory returns empty config without error.
|
||||
config, err := loadAndMergeConfig(filepath.Join(t.TempDir(), "nonexistent"))
|
||||
require.NoError(t, err)
|
||||
assert.Empty(t, config.Docker)
|
||||
assert.Nil(t, config.DefaultDocker)
|
||||
|
||||
// Empty directory returns empty config.
|
||||
emptyDir := t.TempDir()
|
||||
config, err = loadAndMergeConfig(emptyDir)
|
||||
require.NoError(t, err)
|
||||
assert.Empty(t, config.Docker)
|
||||
assert.Nil(t, config.DefaultDocker)
|
||||
|
||||
// Existing testdata directory returns valid config.
|
||||
config, err = loadAndMergeConfig("./testdata")
|
||||
require.NoError(t, err)
|
||||
assert.NotEmpty(t, config.Docker)
|
||||
}
|
||||
Reference in New Issue
Block a user