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
@ -244,11 +244,16 @@ func (d *dir) delete(p string) error {
|
||||
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
|
||||
}
|
||||
|
||||
delete(parent.(*dir).children, filename)
|
||||
delete(parentDir.children, filename)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user