diff options
| author | miod <> | 2014-04-13 15:16:40 +0000 | 
|---|---|---|
| committer | miod <> | 2014-04-13 15:16:40 +0000 | 
| commit | dbf195d7fd4efbe4ee578f1dc5c72e7f3deadf18 (patch) | |
| tree | 0de23bccc2c4fc24d466d6a4291987efc8e44770 /src/lib/libcrypto/ecdh/ech_lib.c | |
| parent | 210506dd94a697493eb809fb31df7283912ded73 (diff) | |
| parent | 52628ee3f51f011b463aaedb1a28aa0524b43cb3 (diff) | |
| download | openbsd-dbf195d7fd4efbe4ee578f1dc5c72e7f3deadf18.tar.gz openbsd-dbf195d7fd4efbe4ee578f1dc5c72e7f3deadf18.tar.bz2 openbsd-dbf195d7fd4efbe4ee578f1dc5c72e7f3deadf18.zip | |
This commit was generated by cvs2git to track changes on a CVS vendor
branch.
Diffstat (limited to 'src/lib/libcrypto/ecdh/ech_lib.c')
| -rw-r--r-- | src/lib/libcrypto/ecdh/ech_lib.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| diff --git a/src/lib/libcrypto/ecdh/ech_lib.c b/src/lib/libcrypto/ecdh/ech_lib.c index dadbfd3c49..0644431b75 100644 --- a/src/lib/libcrypto/ecdh/ech_lib.c +++ b/src/lib/libcrypto/ecdh/ech_lib.c | |||
| @@ -222,8 +222,15 @@ ECDH_DATA *ecdh_check(EC_KEY *key) | |||
| 222 | ecdh_data = (ECDH_DATA *)ecdh_data_new(); | 222 | ecdh_data = (ECDH_DATA *)ecdh_data_new(); | 
| 223 | if (ecdh_data == NULL) | 223 | if (ecdh_data == NULL) | 
| 224 | return NULL; | 224 | return NULL; | 
| 225 | EC_KEY_insert_key_method_data(key, (void *)ecdh_data, | 225 | data = EC_KEY_insert_key_method_data(key, (void *)ecdh_data, | 
| 226 | ecdh_data_dup, ecdh_data_free, ecdh_data_free); | 226 | ecdh_data_dup, ecdh_data_free, ecdh_data_free); | 
| 227 | if (data != NULL) | ||
| 228 | { | ||
| 229 | /* Another thread raced us to install the key_method | ||
| 230 | * data and won. */ | ||
| 231 | ecdh_data_free(ecdh_data); | ||
| 232 | ecdh_data = (ECDH_DATA *)data; | ||
| 233 | } | ||
| 227 | } | 234 | } | 
| 228 | else | 235 | else | 
| 229 | ecdh_data = (ECDH_DATA *)data; | 236 | ecdh_data = (ECDH_DATA *)data; | 
