mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-27 04:28:20 +00:00
metadata: Make JSON parser more robust
Make sure the type conversions are OK. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
parent
626f02def2
commit
b0a0b4ceb7
@ -144,16 +144,28 @@ func processUserData(data []byte) error {
|
|||||||
// This is not an error
|
// This is not an error
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
cm := fd.(map[string]interface{})
|
cm, ok := fd.(map[string]interface{})
|
||||||
|
if !ok {
|
||||||
|
log.Printf("Could convert JSON to desired format: %s", fd)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
for d, val := range cm {
|
for d, val := range cm {
|
||||||
dir := path.Join(ConfigPath, d)
|
dir := path.Join(ConfigPath, d)
|
||||||
if err := os.Mkdir(dir, 0755); err != nil {
|
if err := os.Mkdir(dir, 0755); err != nil {
|
||||||
log.Printf("Failed to create %s: %s", dir, err)
|
log.Printf("Failed to create %s: %s", dir, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
files := val.(map[string]interface{})
|
files, ok := val.(map[string]interface{})
|
||||||
|
if !ok {
|
||||||
|
log.Printf("Could convert JSON for files: %s", val)
|
||||||
|
continue
|
||||||
|
}
|
||||||
for f, i := range files {
|
for f, i := range files {
|
||||||
fi := i.(map[string]interface{})
|
fi := i.(map[string]interface{})
|
||||||
|
if !ok {
|
||||||
|
log.Printf("Could convert JSON for items: %s", i)
|
||||||
|
continue
|
||||||
|
}
|
||||||
if _, ok := fi["perm"]; !ok {
|
if _, ok := fi["perm"]; !ok {
|
||||||
log.Printf("No permission provided %s:%s", f, fi)
|
log.Printf("No permission provided %s:%s", f, fi)
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user