Fix keystrlen to work when OPT.KEYID_FORMAT is KF_DEFAULT.

* g10/keyid.c (keystrlen): If opt.keyid_format is KF_DEFAULT unset,
default to KF_SHORT.
(format_keyid): Default to KF_SHORT, not KF_0xLONG.

--
Without this fix, gpgv2 fails with:

gpgv: Ohhhh jeeee: ... this is a bug (keyid.c:342:keystrlen)

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Signed-off-by: Neal H. Walfield <neal@g10code.com>
This commit is contained in:
Daniel Kahn Gillmor 2015-12-09 13:01:04 -05:00 committed by Neal H. Walfield
parent c7389ae90f
commit 2c3e67430d
1 changed files with 6 additions and 2 deletions

View File

@ -284,7 +284,7 @@ format_keyid (u32 *keyid, int format, char *buffer, int len)
if (format == KF_DEFAULT)
format = opt.keyid_format;
if (format == KF_DEFAULT)
format = KF_0xLONG;
format = KF_SHORT;
switch (format)
{
@ -324,7 +324,11 @@ format_keyid (u32 *keyid, int format, char *buffer, int len)
size_t
keystrlen(void)
{
switch(opt.keyid_format)
int format = opt.keyid_format;
if (format == KF_DEFAULT)
format = KF_SHORT;
switch(format)
{
case KF_SHORT:
return 8;