Fix dirmngr crash (bug#1300)
authorWerner Koch <wk@gnupg.org>
Wed, 23 Feb 2011 09:51:36 +0000 (10:51 +0100)
committerWerner Koch <wk@gnupg.org>
Wed, 23 Feb 2011 09:51:36 +0000 (10:51 +0100)
dirmngr/ChangeLog
dirmngr/certcache.c

index c1ce3bf..bb40fe1 100644 (file)
@@ -1,3 +1,8 @@
+2011-02-23  Werner Koch  <wk@g10code.com>
+
+       * certcache.c (get_cert_bysubject): Take care of a NULL argument.
+       (find_cert_bysubject): Ditto.  Fixes bug#1300.
+
 2011-02-09  Werner Koch  <wk@g10code.com>
 
        * ks-engine-kdns.c: New but only the framework.
index 1fb585a..3ada60d 100644 (file)
@@ -652,6 +652,9 @@ get_cert_bysubject (const char *subject_dn, unsigned int seq)
   cert_item_t ci;
   int i;
 
+  if (!subject_dn)
+    return NULL;
+
   acquire_cache_read_lock ();
   for (i=0; i < 256; i++)
     {
@@ -1101,7 +1104,7 @@ find_cert_bysubject (ctrl_t ctrl, const char *subject_dn, ksba_sexp_t keyid)
      uniquely located by the following code we can use them.  This is
      for example required by Telesec certificates where a keyId is
      used but the issuer certificate comes without a subject keyId! */
-  if (ctrl->ocsp_certs)
+  if (ctrl->ocsp_certs && subject_dn)
     {
       cert_item_t ci;
       cert_ref_t cr;