git-compat-util: drop now-unused `UNLEAK()` macro

The `UNLEAK()` macro has been introduced with 0e5bba53af (add UNLEAK annotation for reducing leak false positives, 2017-09-08) to help us reduce the amount of reported memory leaks in cases we don't care about, e.g. when exiting immediately afterwards. We have since removed all of its users in favor of freeing the memory and thus don't need the macro anymore. Remove it. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Nov 20, 2024 at 14:39 UTC 52c7dbd036e1e5dd2ef854737c3010b3d0a2f3ca
2 files changed -35
git-compat-util.h
-20
@@ -1527,26 +1527,6 @@ int cmd_main(int, const char **);
1527 int common_exit(const char *file, int line, int code);
1528 #define exit(code) exit(common_exit(__FILE__, __LINE__, (code)))
1529
1530 -/*
1531 - * You can mark a stack variable with UNLEAK(var) to avoid it being
1532 - * reported as a leak by tools like LSAN or valgrind. The argument
1533 - * should generally be the variable itself (not its address and not what
1534 - * it points to). It's safe to use this on pointers which may already
1535 - * have been freed, or on pointers which may still be in use.
1536 - *
1537 - * Use this _only_ for a variable that leaks by going out of scope at
1538 - * program exit (so only from cmd_* functions or their direct helpers).
1539 - * Normal functions, especially those which may be called multiple
1540 - * times, should actually free their memory. This is only meant as
1541 - * an annotation, and does nothing in non-leak-checking builds.
1542 - */
1543 -#ifdef SUPPRESS_ANNOTATED_LEAKS
1544 -void unleak_memory(const void *ptr, size_t len);
1545 -#define UNLEAK(var) unleak_memory(&(var), sizeof(var))
1546 -#else
1547 -#define UNLEAK(var) do {} while (0)
1548 -#endif
1549 -
1530 #define z_const
1531 #include <zlib.h>
1532
usage.c
-15
@@ -350,18 +350,3 @@ void bug_fl(const char *file, int line, const char *fmt, ...)
350 trace2_cmd_error_va(fmt, ap);
351 va_end(ap);
352 }
353 -
354 -#ifdef SUPPRESS_ANNOTATED_LEAKS
355 -void unleak_memory(const void *ptr, size_t len)
356 -{
357 - static struct suppressed_leak_root {
358 - struct suppressed_leak_root *next;
359 - char data[FLEX_ARRAY];
360 - } *suppressed_leaks;
361 - struct suppressed_leak_root *root;
362 -
363 - FLEX_ALLOC_MEM(root, data, ptr, len);
364 - root->next = suppressed_leaks;
365 - suppressed_leaks = root;
366 -}
367 -#endif