The direntlen checks were quite bogus, i.e. the loop termination used "len + offset == blocksize" (exact match only), and checked for a direntlen less than 0. The latter can never happen as the len is unsigned, this has been reported by Coverity, CID 153384. Use the same code as in search_dir for directory traversal. This code has the correct checks for direntlen >= sizeof(struct dirent), and offset < blocksize. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Reported-by: Coverity (CID: 153383, 153384) Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com> |
||
---|---|---|
.. | ||
crc16.c | ||
crc16.h | ||
dev.c | ||
ext4_common.c | ||
ext4_common.h | ||
ext4_journal.c | ||
ext4_journal.h | ||
ext4_write.c | ||
ext4fs.c | ||
Kconfig | ||
Makefile |