Merge pull request #24548 from cpuguy83/24167_fix_log_config_merge

Fix panic while merging log configs to nil map
This commit is contained in:
Vincent Demeester 2016-07-12 23:40:47 +02:00 committed by GitHub
commit 7a1442baf6
2 changed files with 19 additions and 0 deletions

View File

@ -150,6 +150,10 @@ func (daemon *Daemon) mergeAndVerifyLogConfig(cfg *containertypes.LogConfig) err
cfg.Type = daemon.defaultLogConfig.Type
}
if cfg.Config == nil {
cfg.Config = make(map[string]string)
}
if cfg.Type == daemon.defaultLogConfig.Type {
for k, v := range daemon.defaultLogConfig.Config {
if _, ok := cfg.Config[k]; !ok {

15
daemon/logs_test.go Normal file
View File

@ -0,0 +1,15 @@
package daemon
import (
"testing"
containertypes "github.com/docker/engine-api/types/container"
)
func TestMergeAndVerifyLogConfigNilConfig(t *testing.T) {
d := &Daemon{defaultLogConfig: containertypes.LogConfig{Type: "json-file", Config: map[string]string{"max-file": "1"}}}
cfg := containertypes.LogConfig{Type: d.defaultLogConfig.Type}
if err := d.mergeAndVerifyLogConfig(&cfg); err != nil {
t.Fatal(err)
}
}