Fix bug#1138.
authorWerner Koch <wk@gnupg.org>
Mon, 28 Sep 2009 17:11:10 +0000 (17:11 +0000)
committerWerner Koch <wk@gnupg.org>
Mon, 28 Sep 2009 17:11:10 +0000 (17:11 +0000)
g10/ChangeLog
g10/trustdb.c

index 94071ef..adc7422 100644 (file)
@@ -1,3 +1,9 @@
+2009-09-28  Werner Koch  <wk@g10code.com>
+
+       * trustdb.c (get_validity_info): Take care of a NULL PK.  Fixes
+       bug#1138.
+       (get_validity_string): Ditto.
+
 2009-09-25  Werner Koch  <wk@g10code.com>
 
        * pkglue.c (pk_sign, pk_verify, pk_encrypt, pk_decrypt)
index 1d083a7..2db9715 100644 (file)
@@ -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");