• Junio C Hamano's avatar
    name-hash: allow hashing an empty string · c19387e7
    Junio C Hamano authored
    Usually we do not pass an empty string to the function hash_name()
    because we almost always ask for hash values for a path that is a
    candidate to be added to the index. However, check-ignore (and most
    likely check-attr, but I didn't check) apparently has a callchain
    to ask the hash value for an empty path when it was given a "." from
    the top-level directory to ask "Is the path . excluded by default?"
    
    Make sure that hash_name() does not overrun the end of the given
    pathname even when it is empty.
    
    Remove a sweep-the-issue-under-the-rug conditional in check-ignore
    that avoided to pass an empty string to the callchain while at it.
    It is a valid question to ask for check-ignore if the top-level is
    set to be ignored by default, even though the answer is most likely
    no, if only because there is currently no way to specify such an
    entry in the .gitignore file. But it is an unusual thing to ask and
    it is not worth optimizing for it by special casing at the top level
    of the call chain.
    Signed-off-by: default avatarAdam Spiers <git@adamspiers.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    c19387e7
check-ignore.c 4.46 KB