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>
This commit is contained in:
Jeff King 2020-08-13 11:55:00 -04:00 committed by Junio C Hamano
parent 47ae905ffb
commit d5e1961c19
2 changed files with 3 additions and 9 deletions

View File

@ -175,10 +175,8 @@ int cmd_main(int argc, const char **argv)
/* fopen doesn't offer us an O_EXCL alternative, except with glibc. */
report = open(report_path.buf, O_CREAT | O_EXCL | O_WRONLY, 0666);
if (report < 0) {
UNLEAK(report_path);
if (report < 0)
die(_("couldn't create a new file at '%s'"), report_path.buf);
}
if (write_in_full(report, buffer.buf, buffer.len) < 0)
die_errno(_("unable to write to %s"), report_path.buf);

8
midx.c
View File

@ -807,11 +807,9 @@ static int write_midx_internal(const char *object_dir, struct multi_pack_index *
int result = 0;
midx_name = get_midx_filename(object_dir);
if (safe_create_leading_directories(midx_name)) {
UNLEAK(midx_name);
if (safe_create_leading_directories(midx_name))
die_errno(_("unable to create leading directories of %s"),
midx_name);
}
if (m)
packs.m = m;
@ -1051,10 +1049,8 @@ void clear_midx_file(struct repository *r)
r->objects->multi_pack_index = NULL;
}
if (remove_path(midx)) {
UNLEAK(midx);
if (remove_path(midx))
die(_("failed to clear multi-pack-index at %s"), midx);
}
free(midx);
}