diff options
| author | markus <> | 2001-04-23 07:46:00 +0000 |
|---|---|---|
| committer | markus <> | 2001-04-23 07:46:00 +0000 |
| commit | b32892991f70744ca178482fe884c025b4782b1e (patch) | |
| tree | 85bc1ff1cac03d5ce1f6f03f4eea6c3886398df1 /src/lib/libcrypto/dsa/dsa_lib.c | |
| parent | 7bdbb2116dd933f7b4639bd9028ed79bfc1c12f9 (diff) | |
| download | openbsd-b32892991f70744ca178482fe884c025b4782b1e.tar.gz openbsd-b32892991f70744ca178482fe884c025b4782b1e.tar.bz2 openbsd-b32892991f70744ca178482fe884c025b4782b1e.zip | |
import DSA changes from 0.9.6a (Bleichenbacher attack), ok provos@/deraadt@
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_lib.c')
| -rw-r--r-- | src/lib/libcrypto/dsa/dsa_lib.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_lib.c b/src/lib/libcrypto/dsa/dsa_lib.c index b31b946ad3..15f667a203 100644 --- a/src/lib/libcrypto/dsa/dsa_lib.c +++ b/src/lib/libcrypto/dsa/dsa_lib.c | |||
| @@ -173,13 +173,13 @@ DSA *DSA_new_method(ENGINE *engine) | |||
| 173 | 173 | ||
| 174 | ret->references=1; | 174 | ret->references=1; |
| 175 | ret->flags=meth->flags; | 175 | ret->flags=meth->flags; |
| 176 | CRYPTO_new_ex_data(dsa_meth,ret,&ret->ex_data); | ||
| 176 | if ((meth->init != NULL) && !meth->init(ret)) | 177 | if ((meth->init != NULL) && !meth->init(ret)) |
| 177 | { | 178 | { |
| 179 | CRYPTO_free_ex_data(dsa_meth,ret,&ret->ex_data); | ||
| 178 | OPENSSL_free(ret); | 180 | OPENSSL_free(ret); |
| 179 | ret=NULL; | 181 | ret=NULL; |
| 180 | } | 182 | } |
| 181 | else | ||
| 182 | CRYPTO_new_ex_data(dsa_meth,ret,&ret->ex_data); | ||
| 183 | 183 | ||
| 184 | return(ret); | 184 | return(ret); |
| 185 | } | 185 | } |
| @@ -204,12 +204,12 @@ void DSA_free(DSA *r) | |||
| 204 | } | 204 | } |
| 205 | #endif | 205 | #endif |
| 206 | 206 | ||
| 207 | CRYPTO_free_ex_data(dsa_meth, r, &r->ex_data); | ||
| 208 | |||
| 209 | meth = ENGINE_get_DSA(r->engine); | 207 | meth = ENGINE_get_DSA(r->engine); |
| 210 | if(meth->finish) meth->finish(r); | 208 | if(meth->finish) meth->finish(r); |
| 211 | ENGINE_finish(r->engine); | 209 | ENGINE_finish(r->engine); |
| 212 | 210 | ||
| 211 | CRYPTO_free_ex_data(dsa_meth, r, &r->ex_data); | ||
| 212 | |||
| 213 | if (r->p != NULL) BN_clear_free(r->p); | 213 | if (r->p != NULL) BN_clear_free(r->p); |
| 214 | if (r->q != NULL) BN_clear_free(r->q); | 214 | if (r->q != NULL) BN_clear_free(r->q); |
| 215 | if (r->g != NULL) BN_clear_free(r->g); | 215 | if (r->g != NULL) BN_clear_free(r->g); |
