diff options
author | miod <> | 2014-04-13 15:16:40 +0000 |
---|---|---|
committer | miod <> | 2014-04-13 15:16:40 +0000 |
commit | 92349eb53934e1b3e9b807e603d45417a6320d21 (patch) | |
tree | 0de23bccc2c4fc24d466d6a4291987efc8e44770 /src/lib/libcrypto/ecdsa | |
parent | bdcc75be513421611e357921c457c3c5f631a14c (diff) | |
parent | 52628ee3f51f011b463aaedb1a28aa0524b43cb3 (diff) | |
download | openbsd-92349eb53934e1b3e9b807e603d45417a6320d21.tar.gz openbsd-92349eb53934e1b3e9b807e603d45417a6320d21.tar.bz2 openbsd-92349eb53934e1b3e9b807e603d45417a6320d21.zip |
This commit was generated by cvs2git to track changes on a CVS vendor
branch.
Diffstat (limited to 'src/lib/libcrypto/ecdsa')
-rw-r--r-- | src/lib/libcrypto/ecdsa/ecs_lib.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/libcrypto/ecdsa/ecs_lib.c b/src/lib/libcrypto/ecdsa/ecs_lib.c index e477da430b..814a6bf404 100644 --- a/src/lib/libcrypto/ecdsa/ecs_lib.c +++ b/src/lib/libcrypto/ecdsa/ecs_lib.c | |||
@@ -200,8 +200,15 @@ ECDSA_DATA *ecdsa_check(EC_KEY *key) | |||
200 | ecdsa_data = (ECDSA_DATA *)ecdsa_data_new(); | 200 | ecdsa_data = (ECDSA_DATA *)ecdsa_data_new(); |
201 | if (ecdsa_data == NULL) | 201 | if (ecdsa_data == NULL) |
202 | return NULL; | 202 | return NULL; |
203 | EC_KEY_insert_key_method_data(key, (void *)ecdsa_data, | 203 | data = EC_KEY_insert_key_method_data(key, (void *)ecdsa_data, |
204 | ecdsa_data_dup, ecdsa_data_free, ecdsa_data_free); | 204 | ecdsa_data_dup, ecdsa_data_free, ecdsa_data_free); |
205 | if (data != NULL) | ||
206 | { | ||
207 | /* Another thread raced us to install the key_method | ||
208 | * data and won. */ | ||
209 | ecdsa_data_free(ecdsa_data); | ||
210 | ecdsa_data = (ECDSA_DATA *)data; | ||
211 | } | ||
205 | } | 212 | } |
206 | else | 213 | else |
207 | ecdsa_data = (ECDSA_DATA *)data; | 214 | ecdsa_data = (ECDSA_DATA *)data; |