ladybird/Kernel/FileSystem
Yonatan Goldschmidt 3a90a01dd4 Ext2FS: Fix indirect-blocks iteration
For singly-indirect blocks, "callback" is just "add_block".
For doubly-indirect blocks, "callback" is the lambda function
iterating on singly-indirect blocks: so instead of adding itself to the
list, the doubly-indirect block will add all its childs, but they add
themselves again when they run the callback of singly-indirect blocks.
And nothing adds the doubly-indirect block itself :(

This leads to a double free of all child blocks of the doubly-indirect
block, which is the failed assert described in #1549.

Closes: #1549.
2020-05-22 10:50:41 +02:00
..
Custody.cpp AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
Custody.h Kernel: Remove unused artifacts of the Custody cache 2020-02-26 15:25:53 +01:00
DevPtsFS.cpp AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
DevPtsFS.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
ext2_fs.h Meta: Remove some copyright headers added in error 2020-01-25 10:34:32 +01:00
ext2_types.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Ext2FileSystem.cpp Ext2FS: Fix indirect-blocks iteration 2020-05-22 10:50:41 +02:00
Ext2FileSystem.h Kernel: Tweak FileBackedFS API to avoid intermediary copies 2020-05-19 11:07:35 +02:00
FIFO.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
FIFO.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
File.cpp AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
File.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
FileBackedFileSystem.cpp Kernel: Tweak FileBackedFS API to avoid intermediary copies 2020-05-19 11:07:35 +02:00
FileBackedFileSystem.h Kernel: Tweak FileBackedFS API to avoid intermediary copies 2020-05-19 11:07:35 +02:00
FileDescription.cpp Kernel: Use shared locking mode in some places 2020-04-18 13:58:29 +02:00
FileDescription.h Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
FileSystem.cpp Kernel: Make FS::block_size a size_t 2020-05-19 11:07:35 +02:00
FileSystem.h Kernel: Make FS::block_size a size_t 2020-05-19 11:07:35 +02:00
Inode.cpp Kernel: Inline Inode::fsid() 2020-05-19 11:07:35 +02:00
Inode.h Kernel: Inline Inode::fsid() 2020-05-19 11:07:35 +02:00
InodeFile.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
InodeFile.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
InodeIdentifier.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
InodeMetadata.h Kernel: Use a FixedArray for a process's extra GIDs 2020-02-18 11:35:47 +01:00
InodeWatcher.cpp Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
InodeWatcher.h Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
ProcFS.cpp Kernel: Make FS::block_size a size_t 2020-05-19 11:07:35 +02:00
ProcFS.h Kernel: Add forward declaration header 2020-02-16 01:50:32 +01:00
TmpFS.cpp Kernel: Use shared locking mode in some places 2020-04-18 13:58:29 +02:00
TmpFS.h Kernel: Add forward declaration header 2020-02-16 01:50:32 +01:00
VirtualFileSystem.cpp Kernel: rmdir("/") should fail instead of asserting 2020-04-19 18:07:16 +02:00
VirtualFileSystem.h Kernel: Resolve relative paths when there is a veil (#1474) 2020-03-19 09:57:34 +01:00