@matheusbsbs / matheus-bagliano / commits / d5e1961c19
Fork 0

stop calling UNLEAK() before die()

The point of UNLEAK() is to make a reference to a variable that is about to go out of scope so that leak-checkers will consider it to be not-leaked. Doing so right before die() is therefore pointless; even though we are about to exit the program, the variable will still be on the stack and accessible to leak-checkers. These annotations aren't really hurting anything, but they clutter the code and set a bad example of how to use UNLEAK(). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Aug 13, 2020 at 11:55 UTC d5e1961c19a2b638a700d03729cbb6c27fe5a3e8
2 files changed +3 -9
bugreport.c
+1 -3
@@ -175,10 +175,8 @@ int cmd_main(int argc, const char **argv)
175 /* fopen doesn't offer us an O_EXCL alternative, except with glibc. */
176 report = open(report_path.buf, O_CREAT | O_EXCL | O_WRONLY, 0666);
177
178 - if (report < 0) {
179 - UNLEAK(report_path);
178 + if (report < 0)
179 die(_("couldn't create a new file at '%s'"), report_path.buf);
181 - }
180
181 if (write_in_full(report, buffer.buf, buffer.len) < 0)
182 die_errno(_("unable to write to %s"), report_path.buf);
midx.c
+2 -6
@@ -807,11 +807,9 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index *
807 int result = 0;
808
809 midx_name = get_midx_filename(object_dir);
810 - if (safe_create_leading_directories(midx_name)) {
811 - UNLEAK(midx_name);
810 + if (safe_create_leading_directories(midx_name))
811 die_errno(_("unable to create leading directories of %s"),
812 midx_name);
814 - }
813
814 if (m)
815 packs.m = m;
@@ -1051,10 +1049,8 @@ void clear_midx_file(struct repository *r)
1049 r->objects->multi_pack_index = NULL;
1050 }
1051
1054 - if (remove_path(midx)) {
1055 - UNLEAK(midx);
1052 + if (remove_path(midx))
1053 die(_("failed to clear multi-pack-index at %s"), midx);
1057 - }
1054
1055 free(midx);
1056 }