Loading crypto/err/err.c +9 −24 Original line number Diff line number Diff line Loading @@ -125,8 +125,6 @@ static CRYPTO_THREAD_LOCAL err_thread_local; static CRYPTO_ONCE err_string_init = CRYPTO_ONCE_STATIC_INIT; static CRYPTO_RWLOCK *err_string_lock; /* Predeclarations of the "err_defaults" functions */ static LHASH_OF(ERR_STRING_DATA) *get_hash(int create); static ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *); /* Loading Loading @@ -155,23 +153,13 @@ static int err_string_data_cmp(const ERR_STRING_DATA *a, return (int)(a->error - b->error); } static LHASH_OF(ERR_STRING_DATA) *get_hash(int create) { if (int_error_hash == NULL && create) int_error_hash = lh_ERR_STRING_DATA_new(err_string_data_hash, err_string_data_cmp); return int_error_hash; } static ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *d) { ERR_STRING_DATA *p = NULL; LHASH_OF(ERR_STRING_DATA) *hash; CRYPTO_THREAD_read_lock(err_string_lock); hash = get_hash(0); if (hash) p = lh_ERR_STRING_DATA_retrieve(hash, d); if (int_error_hash != NULL) p = lh_ERR_STRING_DATA_retrieve(int_error_hash, d); CRYPTO_THREAD_unlock(err_string_lock); return p; Loading Loading @@ -290,15 +278,15 @@ int ERR_load_ERR_strings(void) static void err_load_strings(int lib, ERR_STRING_DATA *str) { LHASH_OF(ERR_STRING_DATA) *hash; CRYPTO_THREAD_write_lock(err_string_lock); hash = get_hash(1); if (hash) { if (int_error_hash == NULL) int_error_hash = lh_ERR_STRING_DATA_new(err_string_data_hash, err_string_data_cmp); if (int_error_hash != NULL) { for (; str->error; str++) { if (lib) str->error |= ERR_PACK(lib, 0, 0); (void)lh_ERR_STRING_DATA_insert(hash, str); (void)lh_ERR_STRING_DATA_insert(int_error_hash, str); } } CRYPTO_THREAD_unlock(err_string_lock); Loading @@ -314,18 +302,15 @@ int ERR_load_strings(int lib, ERR_STRING_DATA *str) int ERR_unload_strings(int lib, ERR_STRING_DATA *str) { LHASH_OF(ERR_STRING_DATA) *hash; if (!RUN_ONCE(&err_string_init, do_err_strings_init)) return 0; CRYPTO_THREAD_write_lock(err_string_lock); hash = get_hash(0); if (hash) { if (int_error_hash != NULL) { for (; str->error; str++) { if (lib) str->error |= ERR_PACK(lib, 0, 0); (void)lh_ERR_STRING_DATA_delete(hash, str); (void)lh_ERR_STRING_DATA_delete(int_error_hash, str); } } CRYPTO_THREAD_unlock(err_string_lock); Loading Loading
crypto/err/err.c +9 −24 Original line number Diff line number Diff line Loading @@ -125,8 +125,6 @@ static CRYPTO_THREAD_LOCAL err_thread_local; static CRYPTO_ONCE err_string_init = CRYPTO_ONCE_STATIC_INIT; static CRYPTO_RWLOCK *err_string_lock; /* Predeclarations of the "err_defaults" functions */ static LHASH_OF(ERR_STRING_DATA) *get_hash(int create); static ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *); /* Loading Loading @@ -155,23 +153,13 @@ static int err_string_data_cmp(const ERR_STRING_DATA *a, return (int)(a->error - b->error); } static LHASH_OF(ERR_STRING_DATA) *get_hash(int create) { if (int_error_hash == NULL && create) int_error_hash = lh_ERR_STRING_DATA_new(err_string_data_hash, err_string_data_cmp); return int_error_hash; } static ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *d) { ERR_STRING_DATA *p = NULL; LHASH_OF(ERR_STRING_DATA) *hash; CRYPTO_THREAD_read_lock(err_string_lock); hash = get_hash(0); if (hash) p = lh_ERR_STRING_DATA_retrieve(hash, d); if (int_error_hash != NULL) p = lh_ERR_STRING_DATA_retrieve(int_error_hash, d); CRYPTO_THREAD_unlock(err_string_lock); return p; Loading Loading @@ -290,15 +278,15 @@ int ERR_load_ERR_strings(void) static void err_load_strings(int lib, ERR_STRING_DATA *str) { LHASH_OF(ERR_STRING_DATA) *hash; CRYPTO_THREAD_write_lock(err_string_lock); hash = get_hash(1); if (hash) { if (int_error_hash == NULL) int_error_hash = lh_ERR_STRING_DATA_new(err_string_data_hash, err_string_data_cmp); if (int_error_hash != NULL) { for (; str->error; str++) { if (lib) str->error |= ERR_PACK(lib, 0, 0); (void)lh_ERR_STRING_DATA_insert(hash, str); (void)lh_ERR_STRING_DATA_insert(int_error_hash, str); } } CRYPTO_THREAD_unlock(err_string_lock); Loading @@ -314,18 +302,15 @@ int ERR_load_strings(int lib, ERR_STRING_DATA *str) int ERR_unload_strings(int lib, ERR_STRING_DATA *str) { LHASH_OF(ERR_STRING_DATA) *hash; if (!RUN_ONCE(&err_string_init, do_err_strings_init)) return 0; CRYPTO_THREAD_write_lock(err_string_lock); hash = get_hash(0); if (hash) { if (int_error_hash != NULL) { for (; str->error; str++) { if (lib) str->error |= ERR_PACK(lib, 0, 0); (void)lh_ERR_STRING_DATA_delete(hash, str); (void)lh_ERR_STRING_DATA_delete(int_error_hash, str); } } CRYPTO_THREAD_unlock(err_string_lock); Loading