diff options
author | Neal H. Walfield <neal@g10code.com> | 2016-02-08 00:31:35 +0100 |
---|---|---|
committer | Neal H. Walfield <neal@g10code.com> | 2016-02-14 14:46:20 +0100 |
commit | c0268c449d0f3d23be5ec7b92fe92e7e078166cf (patch) | |
tree | 43e95ef8096ba8801141f7c97a8f7d28e75b92a7 | |
parent | common: Fix comment. (diff) | |
download | gnupg2-c0268c449d0f3d23be5ec7b92fe92e7e078166cf.tar.xz gnupg2-c0268c449d0f3d23be5ec7b92fe92e7e078166cf.zip |
gpg: Fix format_keyid when dynamically allocating the buffer.
* g10/keyid.c (format_keyid): Return a char *, not a const char *. If
BUFFER is NULL, then set LEN to the static buffer's size.
--
Signed-off-by: Neal H. Walfield <neal@g10code.com>
-rw-r--r-- | g10/keydb.h | 2 | ||||
-rw-r--r-- | g10/keyid.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/g10/keydb.h b/g10/keydb.h index e679d94b4..9b4a1cfb5 100644 --- a/g10/keydb.h +++ b/g10/keydb.h @@ -399,7 +399,7 @@ char *pubkey_string (PKT_public_key *pk, char *buffer, size_t bufsize); #define PUBKEY_STRING_SIZE 32 u32 v3_keyid (gcry_mpi_t a, u32 *ki); void hash_public_key( gcry_md_hd_t md, PKT_public_key *pk ); -const char *format_keyid (u32 *keyid, int format, char *buffer, int len); +char *format_keyid (u32 *keyid, int format, char *buffer, int len); size_t keystrlen(void); const char *keystr(u32 *keyid); const char *keystr_with_sub (u32 *main_kid, u32 *sub_kid); diff --git a/g10/keyid.c b/g10/keyid.c index f6842762e..49eb5f6d5 100644 --- a/g10/keyid.c +++ b/g10/keyid.c @@ -274,12 +274,15 @@ v3_keyid (gcry_mpi_t a, u32 *ki) } -const char * +char * format_keyid (u32 *keyid, int format, char *buffer, int len) { char tmp[KEYID_STR_SIZE]; if (! buffer) - buffer = tmp; + { + buffer = tmp; + len = sizeof (tmp); + } if (format == KF_DEFAULT) format = opt.keyid_format; |