aboutsummaryrefslogtreecommitdiffstats
path: root/gpg-interface.h
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-09-05 12:09:07 +0200
committerJunio C Hamano <gitster@pobox.com>2024-09-05 08:49:11 -0700
commitb8849e236f7a32d43ab3ba087587a336d69329b0 (patch)
tree6b1df61ebb81e62c9ce99caf9312dafb01e5acb7 /gpg-interface.h
parent49d47eb5416d22f185877a57380a1ffc28f172e1 (diff)
downloadgit-b8849e236f7a32d43ab3ba087587a336d69329b0.tar.gz
gpg-interface: fix misdesigned signing key interfaces
The interfaces to retrieve signing keys and their IDs are misdesigned as they return string constants even though they indeed allocate memory, which leads to memory leaks. Refactor the code to instead always return allocated strings and let the callers free them accordingly. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'gpg-interface.h')
-rw-r--r--gpg-interface.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gpg-interface.h b/gpg-interface.h
index 7cd98161f7..e09f12e8d0 100644
--- a/gpg-interface.h
+++ b/gpg-interface.h
@@ -80,13 +80,13 @@ int sign_buffer(struct strbuf *buffer, struct strbuf *signature,
const char *gpg_trust_level_to_str(enum signature_trust_level level);
void set_signing_key(const char *);
-const char *get_signing_key(void);
+char *get_signing_key(void);
/*
* Returns a textual unique representation of the signing key in use
* Either a GPG KeyID or a SSH Key Fingerprint
*/
-const char *get_signing_key_id(void);
+char *get_signing_key_id(void);
int check_signature(struct signature_check *sigc,
const char *signature, size_t slen);
void print_signature_buffer(const struct signature_check *sigc,