• Theodore Ts'o's avatar
    ext4: avoid uninitialized memory references in ext3_htree_next_block() · 8941ec8b
    Theodore Ts'o authored
    If the first block of 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
    ext4_htree_next_block().
    
    We avoid this by moving the special case from ext4_dx_find_entry() to
    ext4_find_entry(); this also means we can optimize ext4_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: Brad Spengler <spender@grsecurity.net>
    8941ec8b
namei.c 68.7 KB