diff options
author | Anthony Uk <uk@dataway.ch> | 2011-10-31 14:40:16 +0100 |
---|---|---|
committer | Anthony Uk <uk@dataway.ch> | 2011-10-31 14:40:16 +0100 |
commit | e334f711688336ab8bb1a9c887012064254e1bf4 (patch) | |
tree | 2d2c67a4f4d113cedc6310e0d938e8cf36d5a200 /OpenSSL/crypto | |
parent | 56b2fb8abb3ea3d846bb336a7bc25fa2b0a9c0d9 (diff) | |
download | pyopenssl-e334f711688336ab8bb1a9c887012064254e1bf4.tar.gz |
Fix segfault on PKey.check() when there is no private key
Diffstat (limited to 'OpenSSL/crypto')
-rw-r--r-- | OpenSSL/crypto/pkey.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/OpenSSL/crypto/pkey.c b/OpenSSL/crypto/pkey.c index 27ea4d4..711306d 100644 --- a/OpenSSL/crypto/pkey.c +++ b/OpenSSL/crypto/pkey.c @@ -124,6 +124,11 @@ crypto_PKey_check(crypto_PKeyObj *self, PyObject *args) { return NULL; } + if (self->only_public) { + PyErr_SetString(PyExc_TypeError, "public key only"); + return NULL; + } + if (self->pkey->type == EVP_PKEY_RSA) { RSA *rsa; rsa = EVP_PKEY_get1_RSA(self->pkey); |