Browse Source

gpg-interface: provide clear helper for struct signature_check

The struct has been growing members whose malloced memory needs to be
freed. Do this with one helper function so that no malloced memory shall
be left unfreed.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Michael J Gruber 11 years ago committed by Junio C Hamano
parent
commit
01e57b5d91
  1. 5
      builtin/merge.c
  2. 12
      gpg-interface.c
  3. 1
      gpg-interface.h
  4. 3
      pretty.c

5
builtin/merge.c

@ -1282,10 +1282,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) @@ -1282,10 +1282,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
printf(_("Commit %s has a good GPG signature by %s\n"),
hex, signature_check.signer);

free(signature_check.gpg_output);
free(signature_check.gpg_status);
free(signature_check.signer);
free(signature_check.key);
signature_check_clear(&signature_check);
}
}


12
gpg-interface.c

@ -7,6 +7,18 @@ @@ -7,6 +7,18 @@
static char *configured_signing_key;
static const char *gpg_program = "gpg";

void signature_check_clear(struct signature_check *sigc)
{
free(sigc->gpg_output);
free(sigc->gpg_status);
free(sigc->signer);
free(sigc->key);
sigc->gpg_output = NULL;
sigc->gpg_status = NULL;
sigc->signer = NULL;
sigc->key = NULL;
}

void set_signing_key(const char *key)
{
free(configured_signing_key);

1
gpg-interface.h

@ -13,6 +13,7 @@ struct signature_check { @@ -13,6 +13,7 @@ struct signature_check {
char *key;
};

extern void signature_check_clear(struct signature_check *sigc);
extern int sign_buffer(struct strbuf *buffer, struct strbuf *signature, const char *signing_key);
extern int verify_signed_buffer(const char *payload, size_t payload_size, const char *signature, size_t signature_size, struct strbuf *gpg_output, struct strbuf *gpg_status);
extern int git_gpg_config(const char *, const char *, void *);

3
pretty.c

@ -1532,8 +1532,7 @@ void format_commit_message(const struct commit *commit, @@ -1532,8 +1532,7 @@ void format_commit_message(const struct commit *commit,

free(context.commit_encoding);
logmsg_free(context.message, commit);
free(context.signature_check.gpg_output);
free(context.signature_check.signer);
signature_check_clear(&context.signature_check);
}

static void pp_header(struct pretty_print_context *pp,

Loading…
Cancel
Save