Re: [PATCH] Makefile: suppress annotated leaks with certain ASan options
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 20, 2023, 19:41 UTC
- Message-ID
- <xmqqsfg5vvrk.fsf@gitster.g>
- In-Reply-To
- <b1efe56ab5193d5505ccb9334f7d15e1795c27fb.1674240261.git.me@ttaylorr.com>
Taylor Blau <me@ttaylorr.com> writes:
> However, it is possible to use the leak sanitizer without > `SANITIZE=leak`. This happens when building with `SANITIZE=address` and > enabling the leak sanitizer via the `ASAN_OPTIONS` variable (by > including the string "detect_leaks=1").
Yuck. I cannot tell if this falls into "don't do it then if it hurts" or pretty common thing people do that is worth helping.
> Making it possible to rely on `UNLEAK()` when implicitly using the leak > checker via SANITIZE=address builds.
But as long as you did all the work, sure, why not ;-).
Show 8 quoted lines
> I found this while playing around with GitHub's ASan-enabled CI builds > for our internal fork following a merge with v2.38.3. > > The check-chainlint recipe in t/Makefile started using "git diff" via > d00113ec34 (t/Makefile: apply chainlint.pl to existing self-tests, > 2022-09-01), which triggered a leak in some of GitHub's custom code. I > was surprised when marking the variable with UNLEAK() didn't do the > trick, and ended up down this rabbit hole ;-).
Thanks. Will queue.