[prev in list] [next in list] [prev in thread] [next in thread]
List: git
Subject: Re: [PATCH] fetch-pack: disregard invalid pack lockfiles
From: Taylor Blau <ttaylorr () github ! com>
Date: 2020-11-30 20:22:46
Message-ID: X8VUf/nbRiMvQFpu () nand ! local
[Download RAW message or body]
On Mon, Nov 30, 2020 at 09:15:47PM +0100, René Scharfe wrote:
> Am 30.11.20 um 20:53 schrieb Taylor Blau:
> > On Mon, Nov 30, 2020 at 08:27:15PM +0100, René Scharfe wrote:
> > > index_pack_lockfile() can return NULL if it doesn't like the contents it
> > > reads from the file descriptor passed to it. unlink(2) is declared to
> > > not accept NULL pointers (at least with glibc). Undefined Behavior
> > > Sanitizer together with Address Sanitizer detects a case where a NULL
> > > lockfile name is passed to unlink(2) by transport_unlock_pack() in t1060
> > > (make SANITIZE=address,undefined; cd t; ./t1060-object-corruption.sh).
> >
> > Which test in t1060? I tried to reproduce this myself, but couldn't seem
> > to coax out a failure. (Initially I thought that my ccache wasn't
> > letting me recompile with the SANITIZE options, but running 'ccache
> > clear' and then trying again left the test still passing).
>
> 15 - fetch into corrupted repo with index-pack
>
> $ cat trash\ directory.t1060-object-corruption/bit-error-cp/stderr
> error: inflate: data stream error (invalid distance too far back)
> error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header
> fatal: cannot read existing object info d95f3ad14dee633a758d2e331151e950dd13e4ed
> fatal: index-pack failed
> wrapper.c:568:52: runtime error: null pointer passed as argument 1, which is \
> declared to never be null
> /usr/include/unistd.h:825:48: note: nonnull attribute specified here
> SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior wrapper.c:568:52 in
> Aborted
>
> Compiled with:
> Debian clang version 11.0.0-5+b1
> Target: x86_64-pc-linux-gnu
> Thread model: posix
> InstalledDir: /usr/bin
I see. I was compiling with: gcc 10.2.0, so setting CC=clang does
reproduce the error for me.
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Thanks,
Taylor
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic