• J
    stop leaking lock structs in some simple cases · bfffb48c
    Jeff King 提交于
    Now that it's safe to declare a "struct lock_file" on the
    stack, we can do so (and avoid an intentional leak). These
    leaks were found by running t0000 and t0001 under valgrind
    (though certainly other similar leaks exist and just don't
    happen to be exercised by those tests).
    
    Initializing the lock_file's inner tempfile with NULL is not
    strictly necessary in these cases, but it's a good practice
    to model.  It means that if we were to call a function like
    rollback_lock_file() on a lock that was never taken in the
    first place, it becomes a quiet noop (rather than undefined
    behavior).
    
    Likewise, it's always safe to rollback_lock_file() on a file
    that has already been committed or deleted, since that
    operation is a noop on an inactive lockfile (and that's why
    the case in config.c can drop the "if (lock)" check as we
    move away from using a pointer).
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    bfffb48c
cache-tree.c 17.4 KB