Re: [PATCH v3] [GSOC] ref-filter: fix read invalid union member bug
- From
ZheNing Hu <adlternative@gmail.com>
- Date
- May 10, 2021, 12:51 UTC
- Message-ID
- <CAOLTT8R3ys5ohujVRKiQa3vijrzdGzLThU5hsG-estiyUgOqhQ@mail.gmail.com>
- In-Reply-To
- <xmqqcztzqc9j.fsf@gitster.g>
Show 5 quoted lines
> Just a final sanity check. Is this a recent breakage or was the > code introduced at cc72385f (for-each-ref: let upstream/push > optionally report the remote name, 2017-10-05) broken from the > beginning? >
Well, The trigger condition is very special, but the bug was introduced at that time. Let's see the "bug" example below.
Show 5 quoted lines
> I am wondering if it is easy to add a test to cover the codepath > that is affected by this change. > > Thanks. >
Well, because this bug must require that the seventeenth bit of `used_atom.u` is not 0, it took me a long time to find this bug. in `used_atom.u`, only the member "color" and "contents" which size is bigger than 17 bytes, but "%(contents:trailer:only)" only fill the 16th byte of `used_atom.u`.
"Fortunately", I found it.
git for-each-ref --format='%(color:#aa22ac)'
I will add test for it!
Thanks! -- ZheNing Hu