summaryrefslogtreecommitdiff
path: root/lib/privkey.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/privkey.c')
-rw-r--r--lib/privkey.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/privkey.c b/lib/privkey.c
index 4114e2ca18..9f02c5b062 100644
--- a/lib/privkey.c
+++ b/lib/privkey.c
@@ -1879,15 +1879,17 @@ int gnutls_privkey_verify_params(gnutls_privkey_t key)
int
gnutls_privkey_get_spki(gnutls_privkey_t privkey, gnutls_x509_spki_t spki, unsigned int flags)
{
+ gnutls_x509_spki_t p = &privkey->key.x509->params.spki;
+
if (privkey == NULL || privkey->type != GNUTLS_PRIVKEY_X509) {
gnutls_assert();
return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
}
- if (privkey->key.x509->params.spki.pk == GNUTLS_PK_UNKNOWN)
+ if (p->pk == GNUTLS_PK_UNKNOWN)
return gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
- memcpy(spki, &privkey->key.x509->params.spki, sizeof(gnutls_x509_spki_st));
+ memcpy(spki, p, sizeof(gnutls_x509_spki_st));
return 0;
}