Skip to content
  • Theodore Ts'o's avatar
    ext3: Avoid uninitialized memory references with a corrupted htree directory · f0cad89f
    Theodore Ts'o authored
    
    
    If the first htree directory is missing '.' or '..' but is otherwise a
    valid directory, and we do a lookup for '.' or '..', it's possible to
    dereference an uninitialized memory pointer in ext3_htree_next_block().
    Avoid this.
    
    We avoid this by moving the special case from ext3_dx_find_entry() to
    ext3_find_entry(); this also means we can optimize ext3_find_entry()
    slightly when NFS looks up "..".
    
    Thanks to Brad Spengler for pointing a Clang warning that led me to
    look more closely at this code.  The warning was harmless, but it was
    useful in pointing out code that was too ugly to live.  This warning was
    also reported by Roman Borisov.
    
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Brad Spengler <spender@grsecurity.net>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    f0cad89f