Fix: Avoid a false type assertion in the inmemory driver
This issue was discovered by the following fuzzer: https://github.com/cncf/cncf-fuzzing/blob/main/projects/distribution/inmemory_fuzzer.go#L24 Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
This commit is contained in:
parent
be4c921514
commit
676691ce6d
1 changed files with 7 additions and 2 deletions
|
@ -244,11 +244,16 @@ func (d *dir) delete(p string) error {
|
||||||
return errNotExists
|
return errNotExists
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, ok := parent.(*dir).children[filename]; !ok {
|
parentDir, ok := parent.(*dir)
|
||||||
|
if !ok {
|
||||||
|
return errIsNotDir
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, ok := parentDir.children[filename]; !ok {
|
||||||
return errNotExists
|
return errNotExists
|
||||||
}
|
}
|
||||||
|
|
||||||
delete(parent.(*dir).children, filename)
|
delete(parentDir.children, filename)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue