Fix reference counting.
This commit is contained in:
parent
c2245b68f5
commit
cdbb8c2f26
2 changed files with 11 additions and 2 deletions
6
CHANGES
6
CHANGES
|
@ -5,11 +5,15 @@
|
||||||
|
|
||||||
Changes between 0.9.1c and 0.9.2
|
Changes between 0.9.1c and 0.9.2
|
||||||
|
|
||||||
|
*) Fix reference counting in X509_PUBKEY_get(). This makes
|
||||||
|
demos/maurice/example2.c work, amongst others, probably.
|
||||||
|
[Steve Henson and Ben Laurie]
|
||||||
|
|
||||||
*) First cut of a cleanup for apps/. First the `ssleay' program is now named
|
*) First cut of a cleanup for apps/. First the `ssleay' program is now named
|
||||||
`openssl' and second, the shortcut symlinks for the `openssl <command>'
|
`openssl' and second, the shortcut symlinks for the `openssl <command>'
|
||||||
are no longer created. This way we have a single and consistent command
|
are no longer created. This way we have a single and consistent command
|
||||||
line interface `openssl <command>', similar to `cvs <command>'.
|
line interface `openssl <command>', similar to `cvs <command>'.
|
||||||
[Ralf S. Engelschall]
|
[Ralf S. Engelschall, Paul Sutton and Ben Laurie]
|
||||||
|
|
||||||
*) ca.c: move test for DSA keys inside #ifndef NO_DSA. Make pubkey
|
*) ca.c: move test for DSA keys inside #ifndef NO_DSA. Make pubkey
|
||||||
BIT STRING wrapper always have zero unused bits.
|
BIT STRING wrapper always have zero unused bits.
|
||||||
|
|
|
@ -222,7 +222,11 @@ X509_PUBKEY *key;
|
||||||
|
|
||||||
if (key == NULL) goto err;
|
if (key == NULL) goto err;
|
||||||
|
|
||||||
if (key->pkey != NULL) return(key->pkey);
|
if (key->pkey != NULL)
|
||||||
|
{
|
||||||
|
CRYPTO_add(&key->pkey->references,1,CRYPTO_LOCK_EVP_PKEY);
|
||||||
|
return(key->pkey);
|
||||||
|
}
|
||||||
|
|
||||||
if (key->public_key == NULL) goto err;
|
if (key->public_key == NULL) goto err;
|
||||||
|
|
||||||
|
@ -252,6 +256,7 @@ X509_PUBKEY *key;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
key->pkey=ret;
|
key->pkey=ret;
|
||||||
|
CRYPTO_add(&ret->references,1,CRYPTO_LOCK_EVP_PKEY);
|
||||||
return(ret);
|
return(ret);
|
||||||
err:
|
err:
|
||||||
if (ret != NULL)
|
if (ret != NULL)
|
||||||
|
|
Loading…
Reference in a new issue