e2fsprogs/e2fsck
Theodore Ts'o 5e9ba85c26 Fix e2fsck segfault on very badly damaged filesystems
A recent change to e2fsck_add_dir_info() to use tdb files to check
filesystems with a very large number of filesystems had a typo which
caused us to resize the wrong data structure.  This would cause a
array overrun leading to malloc pointer corruptions.  Since we
normally can very accurately predict how big the the dirinfo array
needs to be, this bug only got triggered on very badly corrupted
filesystems.

Thanks to Andreas Dilger for submitting the test case which discovered
this problem, and to Kalpak Shah for writing a random testing script
which created the test case.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-07-11 13:42:43 -04:00
..
CHANGES Many files: 1997-04-26 13:21:57 +00:00
Makefile.in Fix Debian FTBFS problem caused by devmapper library using pthreads 2006-10-01 22:18:08 -04:00
Makefile.pq Many files: 1997-11-14 05:23:04 +00:00
argv_parse.c Add the profile library code to e2fsck 2005-12-30 23:57:32 -05:00
argv_parse.h Add the profile library code to e2fsck 2005-12-30 23:57:32 -05:00
badblocks.c Fix e2fsck and mke2fs -c to be pass the last _block change to badblocks 2006-11-08 00:41:50 -05:00
dict.c Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
dict.h Fixx gcc -Wall nitpicks. 2003-07-06 00:36:48 -04:00
dirinfo.c Fix e2fsck segfault on very badly damaged filesystems 2007-07-11 13:42:43 -04:00
dx_dirinfo.c ext2fs_getmem(), ext2fs_free_mem(), and ext2fs_resize_mem() 2003-08-01 09:41:07 -04:00
e2fsck.8.in Fix spelling mistakes in e2fsck, mke2fs.conf, and resize2fs man pages 2006-05-22 17:59:37 -04:00
e2fsck.c Read in /etc/e2fsck.conf configuration file at startup 2005-12-31 00:00:10 -05:00
e2fsck.conf.5.in Fix minor typo in e2fsck.conf.5.in man page 2007-04-18 22:12:50 -04:00
e2fsck.h Fix e2fsck's get_size logic so it will work with the Linux floppy driver 2007-06-04 01:14:52 -04:00
ea_refcount.c Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
ehandler.c Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
emptydir.c [COVERITY] Fix missing return code check for ext2fs_write_inode 2007-03-18 11:16:33 -04:00
extend.c ChangeLog, extend.c, flushb.c: 2000-09-12 21:24:36 +00:00
flushb.c Remove the debian-special legal permission notes. 2003-04-14 20:40:49 -04:00
iscan.c Fix signed vs unsigned printf format strings for block and inode numbers 2006-09-12 14:56:15 -04:00
jfs_user.h Fixed potential ordering constraint problem in e2fsck's journal 2004-05-26 20:58:45 -04:00
journal.c e2fsck: Check the all of journal blocks for validity 2007-06-21 11:59:06 -04:00
message.c e2fsck: Detect recursive loops in @-expansions 2007-07-02 19:04:31 -04:00
mtrace.awk Many files: 1997-04-26 13:21:57 +00:00
mtrace.c ChangeLog, mtrace.c, mtrace.h: 2000-12-31 01:52:03 +00:00
mtrace.h ChangeLog, super.c: 2001-01-12 21:05:57 +00:00
pass1.c e2fsck: added sanity check for xattr validation 2007-06-22 02:22:38 -04:00
pass1b.c e2fsck: Count the root directory as found if it has shared blocks in pass1c 2007-04-20 08:14:27 -04:00
pass2.c e2fsck: Fix salvage_directory when the last entry's rec_len is too big 2007-07-10 07:28:35 -04:00
pass3.c Rework e2fsck's dirinfo abstraction to be more friendly for databases 2007-04-04 22:33:31 -04:00
pass4.c [COVERITY] Fix (error case only) memory leak in e2fsck pass #4 2007-03-28 12:43:05 -04:00
pass5.c [COVERITY] Fix (error case only) memory leak in e2fsck pass #5 2007-03-28 12:07:41 -04:00
problem.c e2fsck: Detect recursive loops in @-expansions 2007-07-02 19:04:31 -04:00
problem.h e2fsck: Detect recursive loops in @-expansions 2007-07-02 19:04:31 -04:00
problemP.h Add e2fsck problem handling to be configurable 2005-12-31 16:33:33 -05:00
prof_err.et Add the profile library code to e2fsck 2005-12-30 23:57:32 -05:00
profile.c Add new function: profile_set_default() 2007-07-04 13:03:35 -04:00
profile.h Add new function: profile_set_default() 2007-07-04 13:03:35 -04:00
profile_helpers.c Fix gcc -Wall warning in profile_helper.c 2006-01-05 01:29:50 -05:00
profile_helpers.h Simplify profile core functionality 2006-01-02 22:04:41 -05:00
recovery.c Fix printf types (FreeBSD has u_long for ntohl). 2006-05-30 16:26:29 +02:00
region.c This patch completes the initial extended attribute/ACL support for 2001-07-19 16:31:25 -04:00
rehash.c Rework e2fsck's dirinfo abstraction to be more friendly for databases 2007-04-04 22:33:31 -04:00
revoke.c Fix gcc -Wall nits. 2002-10-13 23:56:28 -04:00
scantest.c Add Apple/Darwin patches. 2003-03-14 02:13:48 -05:00
super.c Fix e2fsck's get_size logic so it will work with the Linux floppy driver 2007-06-04 01:14:52 -04:00
swapfs.c [COVERITY] Fix (error case only) memory leak in e2fsck -S 2007-03-28 12:36:41 -04:00
unix.c Fix gcc -Wall bug in e2fsck 2007-06-21 13:31:13 -04:00
util.c e2fsck: Add blocksize sanity check when finding a backup superblock 2007-05-31 11:56:17 -04:00