summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/cryptlib.c
diff options
context:
space:
mode:
authorbeck <>2017-01-29 17:49:23 +0000
committerbeck <>2017-01-29 17:49:23 +0000
commit957b11334a7afb14537322f0e4795b2e368b3f59 (patch)
tree1a54abba678898ee5270ae4f3404a50ee9a92eea /src/lib/libcrypto/cryptlib.c
parentdf96e020e729c6c37a8c7fe311fdd1fe6a8718c5 (diff)
downloadopenbsd-957b11334a7afb14537322f0e4795b2e368b3f59.tar.gz
openbsd-957b11334a7afb14537322f0e4795b2e368b3f59.tar.bz2
openbsd-957b11334a7afb14537322f0e4795b2e368b3f59.zip
Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing libssl had more reacharounds into this. ok jsing@ inoguchi@
Diffstat (limited to 'src/lib/libcrypto/cryptlib.c')
-rw-r--r--src/lib/libcrypto/cryptlib.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/lib/libcrypto/cryptlib.c b/src/lib/libcrypto/cryptlib.c
index 8dec9caa93..1bc245ed0a 100644
--- a/src/lib/libcrypto/cryptlib.c
+++ b/src/lib/libcrypto/cryptlib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cryptlib.c,v 1.39 2016/11/04 17:30:30 miod Exp $ */ 1/* $OpenBSD: cryptlib.c,v 1.40 2017/01/29 17:49:22 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -210,11 +210,11 @@ CRYPTO_get_new_lockid(char *name)
210 210
211 if ((app_locks == NULL) && 211 if ((app_locks == NULL) &&
212 ((app_locks = sk_OPENSSL_STRING_new_null()) == NULL)) { 212 ((app_locks = sk_OPENSSL_STRING_new_null()) == NULL)) {
213 CRYPTOerr(CRYPTO_F_CRYPTO_GET_NEW_LOCKID, ERR_R_MALLOC_FAILURE); 213 CRYPTOerror(ERR_R_MALLOC_FAILURE);
214 return (0); 214 return (0);
215 } 215 }
216 if (name == NULL || (str = strdup(name)) == NULL) { 216 if (name == NULL || (str = strdup(name)) == NULL) {
217 CRYPTOerr(CRYPTO_F_CRYPTO_GET_NEW_LOCKID, ERR_R_MALLOC_FAILURE); 217 CRYPTOerror(ERR_R_MALLOC_FAILURE);
218 return (0); 218 return (0);
219 } 219 }
220 i = sk_OPENSSL_STRING_push(app_locks, str); 220 i = sk_OPENSSL_STRING_push(app_locks, str);
@@ -238,32 +238,28 @@ CRYPTO_get_new_dynlockid(void)
238 CRYPTO_dynlock *pointer = NULL; 238 CRYPTO_dynlock *pointer = NULL;
239 239
240 if (dynlock_create_callback == NULL) { 240 if (dynlock_create_callback == NULL) {
241 CRYPTOerr(CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID, 241 CRYPTOerror(CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK);
242 CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK);
243 return (0); 242 return (0);
244 } 243 }
245 CRYPTO_w_lock(CRYPTO_LOCK_DYNLOCK); 244 CRYPTO_w_lock(CRYPTO_LOCK_DYNLOCK);
246 if ((dyn_locks == NULL) && 245 if ((dyn_locks == NULL) &&
247 ((dyn_locks = sk_CRYPTO_dynlock_new_null()) == NULL)) { 246 ((dyn_locks = sk_CRYPTO_dynlock_new_null()) == NULL)) {
248 CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK); 247 CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK);
249 CRYPTOerr(CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID, 248 CRYPTOerror(ERR_R_MALLOC_FAILURE);
250 ERR_R_MALLOC_FAILURE);
251 return (0); 249 return (0);
252 } 250 }
253 CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK); 251 CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK);
254 252
255 pointer = malloc(sizeof(CRYPTO_dynlock)); 253 pointer = malloc(sizeof(CRYPTO_dynlock));
256 if (pointer == NULL) { 254 if (pointer == NULL) {
257 CRYPTOerr(CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID, 255 CRYPTOerror(ERR_R_MALLOC_FAILURE);
258 ERR_R_MALLOC_FAILURE);
259 return (0); 256 return (0);
260 } 257 }
261 pointer->references = 1; 258 pointer->references = 1;
262 pointer->data = dynlock_create_callback(__FILE__, __LINE__); 259 pointer->data = dynlock_create_callback(__FILE__, __LINE__);
263 if (pointer->data == NULL) { 260 if (pointer->data == NULL) {
264 free(pointer); 261 free(pointer);
265 CRYPTOerr(CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID, 262 CRYPTOerror(ERR_R_MALLOC_FAILURE);
266 ERR_R_MALLOC_FAILURE);
267 return (0); 263 return (0);
268 } 264 }
269 265