/* If extra_certs[] is NULL, we have one candidate in 'cert' to check. */
for (j = 0; j < (extra_certs ? nr_extra_certs : 1); j++) {
- gnutls_pubkey_t pubkey;
+ gnutls_pubkey_t pubkey = NULL;
- gnutls_pubkey_init(&pubkey);
- err = gnutls_pubkey_import_x509(pubkey, extra_certs ? extra_certs[j] : cert, 0);
- if (err) {
+ err = gnutls_pubkey_init(&pubkey);
+ if (err >= 0)
+ err = gnutls_pubkey_import_x509(pubkey, extra_certs ? extra_certs[j] : cert, 0);
+ if (err < 0) {
vpn_progress(vpninfo, PRG_ERR,
_("Error validating signature against certificate: %s\n"),
gnutls_strerror(err));