Fixed a bug in pluto's x509 handling.
authorTobias Brunner <tobias@strongswan.org>
Fri, 12 Mar 2010 16:27:05 +0000 (17:27 +0100)
committerTobias Brunner <tobias@strongswan.org>
Fri, 12 Mar 2010 16:28:20 +0000 (17:28 +0100)
This bug would have lead to a segmentation fault, if no public key could
have been extracted from a certificate.

src/pluto/x509.c

index d8e8879..0a29830 100644 (file)
@@ -419,11 +419,11 @@ void list_x509cert_chain(const char *caption, cert_t* cert,
                                check_expiry(notAfter, CA_CERT_WARNING_INTERVAL, TRUE));
 
                        key = certificate->get_public_key(certificate);
-                       if (key);
+                       if (key)
                        {
                                whack_log(RC_COMMENT, "  pubkey:    %N %4d bits%s",
                                        key_type_names, key->get_type(key),
-                                       key->get_keysize(key) * BITS_PER_BYTE,                          
+                                       key->get_keysize(key) * BITS_PER_BYTE,
                                        cert->smartcard ? ", on smartcard" :
                                        (has_private_key(cert)? ", has private key" : ""));