From cc88b024f64f45cef205eedace238ea87401da21 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 28 Sep 2009 17:11:10 +0000 Subject: Fix bug#1138. --- g10/ChangeLog | 6 ++++++ g10/trustdb.c | 18 ++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/g10/ChangeLog b/g10/ChangeLog index 94071efc8..adc7422f7 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +2009-09-28 Werner Koch + + * trustdb.c (get_validity_info): Take care of a NULL PK. Fixes + bug#1138. + (get_validity_string): Ditto. + 2009-09-25 Werner Koch * pkglue.c (pk_sign, pk_verify, pk_encrypt, pk_decrypt) diff --git a/g10/trustdb.c b/g10/trustdb.c index 1d083a738..2db971526 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -1176,12 +1176,15 @@ get_validity (PKT_public_key *pk, PKT_user_id *uid) int get_validity_info (PKT_public_key *pk, PKT_user_id *uid) { - int trustlevel; - - trustlevel = get_validity (pk, uid); - if( trustlevel & TRUST_FLAG_REVOKED ) - return 'r'; - return trust_letter ( trustlevel ); + int trustlevel; + + if (!pk) + return '?'; /* Just in case a NULL PK is passed. */ + + trustlevel = get_validity (pk, uid); + if ( (trustlevel & TRUST_FLAG_REVOKED) ) + return 'r'; + return trust_letter (trustlevel); } const char * @@ -1189,6 +1192,9 @@ get_validity_string (PKT_public_key *pk, PKT_user_id *uid) { int trustlevel; + if (!pk) + return "err"; /* Just in case a NULL PK is passed. */ + trustlevel = get_validity (pk, uid); if( trustlevel & TRUST_FLAG_REVOKED ) return _("revoked"); -- cgit v1.2.3