} else
vpn_progress(vpninfo, PRG_ERR,
_("Failed to decrypt PKCS#12 certificate file\n"));
- free(pass);
+ free_pass(&pass);
vpninfo->cert_password = NULL;
err = request_passphrase(vpninfo, "openconnect_pkcs12", &pass,
_("Enter PKCS#12 pass phrase:"));
}
err = gnutls_pkcs12_simple_parse(p12, pass, key, chain, chain_len,
extra_certs, extra_certs_len, crl, 0);
- free(pass);
+ free_pass(&pass);
vpninfo->cert_password = NULL;
gnutls_pkcs12_deinit(p12);
fail:
if (pass) {
vpn_progress(vpninfo, PRG_ERR, _("Decrypting PEM key failed\n"));
- free(pass);
- pass = NULL;
+ free_pass(&pass);
}
err = request_passphrase(vpninfo, "openconnect_pem",
&pass, _("Enter PEM pass phrase:"));
}
out:
free(key_data);
- free(pass);
+ free_pass(&pass);
out_enc_key:
free(enc_key.data);
out_b64:
if (pass) {
vpn_progress(vpninfo, PRG_ERR,
_("Failed to decrypt PKCS#8 certificate file\n"));
- free(pass);
+ free_pass(&pass);
}
err = request_passphrase(vpninfo, "openconnect_pem",
&pass, _("Enter PEM pass phrase:"));
goto out;
}
}
- free(pass);
+ free_pass(&pass);
vpninfo->cert_password = NULL;
} else if (!gnutls_x509_privkey_import(key, &fdata, GNUTLS_X509_FMT_DER) ||
!gnutls_x509_privkey_import_pkcs8(key, &fdata, GNUTLS_X509_FMT_DER,
if (pass) {
vpn_progress(vpninfo, PRG_ERR,
_("Failed to decrypt PKCS#8 certificate file\n"));
- free(pass);
+ free_pass(&pass);
}
err = request_passphrase(vpninfo, "openconnect_pem",
&pass, _("Enter PKCS#8 pass phrase:"));
goto out;
}
}
- free(pass);
+ free_pass(&pass);
vpninfo->cert_password = NULL;
}
vpn_progress(vpninfo, PRG_ERR,
_("PEM password too long (%d >= %d)\n"),
plen, len);
- free(pass);
+ free_pass(&pass);
return -1;
}
memcpy(buf, pass, plen+1);
- free(pass);
+ free_pass(&pass);
return plen;
}
if (pass)
vpn_progress(vpninfo, PRG_ERR,
_("Failed to decrypt PKCS#12 certificate file\n"));
- free(pass);
+ free_pass(&pass);
if (request_passphrase(vpninfo, "openconnect_pkcs12", &pass,
_("Enter PKCS#12 pass phrase:")) < 0) {
PKCS12_free(p12);
vpn_progress(vpninfo, PRG_ERR,
_("Parse PKCS#12 failed (see above errors)\n"));
PKCS12_free(p12);
- free(pass);
+ free_pass(&pass);
return -EINVAL;
}
- free(pass);
+ free_pass(&pass);
if (cert) {
char buf[200];
vpninfo->cert_x509 = cert;
if (pass) {
vpn_progress(vpninfo, PRG_ERR,
_("Failed to decrypt PKCS#8 certificate file\n"));
- free(pass);
+ free_pass(&pass);
pass = NULL;
}
openconnect_report_ssl_errors(vpninfo);
}
- free(pass);
+ free_pass(&pass);
vpninfo->cert_password = NULL;
X509_SIG_free(p8);
return -EINVAL;
}
- free(pass);
+ free_pass(&pass);
vpninfo->cert_password = NULL;
key = EVP_PKCS82PKEY(p8inf);