Loading crypto/conf/conf_api.c +1 −2 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ static void value_free_hash_doall_arg(CONF_VALUE *a, static void value_free_stack_doall(CONF_VALUE *a); static IMPLEMENT_LHASH_DOALL_ARG_FN(value_free_hash, CONF_VALUE, LHASH_OF(CONF_VALUE)) static IMPLEMENT_LHASH_DOALL_FN(value_free_stack, CONF_VALUE) /* Up until OpenSSL 0.9.5a, this was get_section */ CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section) Loading Loading @@ -210,7 +209,7 @@ void _CONF_free_data(CONF *conf) * with */ lh_CONF_VALUE_doall(conf->data, LHASH_DOALL_FN(value_free_stack)); lh_CONF_VALUE_doall(conf->data, value_free_stack_doall); lh_CONF_VALUE_free(conf->data); } Loading crypto/engine/eng_table.c +1 −4 Original line number Diff line number Diff line Loading @@ -219,14 +219,11 @@ static void int_cleanup_cb_doall(ENGINE_PILE *p) OPENSSL_free(p); } static IMPLEMENT_LHASH_DOALL_FN(int_cleanup_cb, ENGINE_PILE) void engine_table_cleanup(ENGINE_TABLE **table) { CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); if (*table) { lh_ENGINE_PILE_doall(&(*table)->piles, LHASH_DOALL_FN(int_cleanup_cb)); lh_ENGINE_PILE_doall(&(*table)->piles, int_cleanup_cb_doall); lh_ENGINE_PILE_free(&(*table)->piles); *table = NULL; } Loading crypto/objects/o_names.c +1 −3 Original line number Diff line number Diff line Loading @@ -320,8 +320,6 @@ static void names_lh_free_doall(OBJ_NAME *onp) OBJ_NAME_remove(onp->name, onp->type); } static IMPLEMENT_LHASH_DOALL_FN(names_lh_free, OBJ_NAME) static void name_funcs_free(NAME_FUNCS *ptr) { OPENSSL_free(ptr); Loading @@ -338,7 +336,7 @@ void OBJ_NAME_cleanup(int type) down_load = lh_OBJ_NAME_get_down_load(names_lh); lh_OBJ_NAME_set_down_load(names_lh, 0); lh_OBJ_NAME_doall(names_lh, LHASH_DOALL_FN(names_lh_free)); lh_OBJ_NAME_doall(names_lh, names_lh_free_doall); if (type < 0) { lh_OBJ_NAME_free(names_lh); sk_NAME_FUNCS_pop_free(name_funcs_stack, name_funcs_free); Loading crypto/objects/obj_dat.c +3 −7 Original line number Diff line number Diff line Loading @@ -199,10 +199,6 @@ static void cleanup3_doall(ADDED_OBJ *a) OPENSSL_free(a); } static IMPLEMENT_LHASH_DOALL_FN(cleanup1, ADDED_OBJ) static IMPLEMENT_LHASH_DOALL_FN(cleanup2, ADDED_OBJ) static IMPLEMENT_LHASH_DOALL_FN(cleanup3, ADDED_OBJ) /* * The purpose of obj_cleanup_defer is to avoid EVP_cleanup() attempting to * use freed up OIDs. If necessary the actual freeing up of OIDs is delayed. Loading @@ -224,9 +220,9 @@ void OBJ_cleanup(void) if (added == NULL) return; lh_ADDED_OBJ_set_down_load(added, 0); lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup1)); /* zero counters */ lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup2)); /* set counters */ lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup3)); /* free objects */ lh_ADDED_OBJ_doall(added, cleanup1_doall); /* zero counters */ lh_ADDED_OBJ_doall(added, cleanup2_doall); /* set counters */ lh_ADDED_OBJ_doall(added, cleanup3_doall); /* free objects */ lh_ADDED_OBJ_free(added); added = NULL; } Loading include/openssl/lhash.h +5 −10 Original line number Diff line number Diff line Loading @@ -113,15 +113,6 @@ typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); return name##_cmp(a,b); } # define LHASH_COMP_FN(name) name##_LHASH_COMP /* Third: "doall" functions */ # define DECLARE_LHASH_DOALL_FN(name, o_type) \ void name##_LHASH_DOALL(void *); # define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \ void name##_LHASH_DOALL(void *arg) { \ o_type *a = arg; \ name##_doall(a); } # define LHASH_DOALL_FN(name) name##_LHASH_DOALL /* Fourth: "doall_arg" functions */ # define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ void name##_LHASH_DOALL_ARG(void *, void *); Loading Loading @@ -246,13 +237,17 @@ void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); { \ lh_set_down_load((_LHASH *)lh, dl); \ } \ static inline void lh_##type##_doall(LHASH_OF(type) *lh, \ void (*doall)(type *)) \ { \ lh_doall((_LHASH *)lh, (LHASH_DOALL_FN_TYPE)doall); \ } \ LHASH_OF(type) # define CHECKED_LHASH_OF(type,lh) \ ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh)) /* Define wrapper functions. */ # define LHM_lh_doall(type, lh,fn) lh_doall(CHECKED_LHASH_OF(type, lh), fn) # define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \ lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) Loading Loading
crypto/conf/conf_api.c +1 −2 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ static void value_free_hash_doall_arg(CONF_VALUE *a, static void value_free_stack_doall(CONF_VALUE *a); static IMPLEMENT_LHASH_DOALL_ARG_FN(value_free_hash, CONF_VALUE, LHASH_OF(CONF_VALUE)) static IMPLEMENT_LHASH_DOALL_FN(value_free_stack, CONF_VALUE) /* Up until OpenSSL 0.9.5a, this was get_section */ CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section) Loading Loading @@ -210,7 +209,7 @@ void _CONF_free_data(CONF *conf) * with */ lh_CONF_VALUE_doall(conf->data, LHASH_DOALL_FN(value_free_stack)); lh_CONF_VALUE_doall(conf->data, value_free_stack_doall); lh_CONF_VALUE_free(conf->data); } Loading
crypto/engine/eng_table.c +1 −4 Original line number Diff line number Diff line Loading @@ -219,14 +219,11 @@ static void int_cleanup_cb_doall(ENGINE_PILE *p) OPENSSL_free(p); } static IMPLEMENT_LHASH_DOALL_FN(int_cleanup_cb, ENGINE_PILE) void engine_table_cleanup(ENGINE_TABLE **table) { CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); if (*table) { lh_ENGINE_PILE_doall(&(*table)->piles, LHASH_DOALL_FN(int_cleanup_cb)); lh_ENGINE_PILE_doall(&(*table)->piles, int_cleanup_cb_doall); lh_ENGINE_PILE_free(&(*table)->piles); *table = NULL; } Loading
crypto/objects/o_names.c +1 −3 Original line number Diff line number Diff line Loading @@ -320,8 +320,6 @@ static void names_lh_free_doall(OBJ_NAME *onp) OBJ_NAME_remove(onp->name, onp->type); } static IMPLEMENT_LHASH_DOALL_FN(names_lh_free, OBJ_NAME) static void name_funcs_free(NAME_FUNCS *ptr) { OPENSSL_free(ptr); Loading @@ -338,7 +336,7 @@ void OBJ_NAME_cleanup(int type) down_load = lh_OBJ_NAME_get_down_load(names_lh); lh_OBJ_NAME_set_down_load(names_lh, 0); lh_OBJ_NAME_doall(names_lh, LHASH_DOALL_FN(names_lh_free)); lh_OBJ_NAME_doall(names_lh, names_lh_free_doall); if (type < 0) { lh_OBJ_NAME_free(names_lh); sk_NAME_FUNCS_pop_free(name_funcs_stack, name_funcs_free); Loading
crypto/objects/obj_dat.c +3 −7 Original line number Diff line number Diff line Loading @@ -199,10 +199,6 @@ static void cleanup3_doall(ADDED_OBJ *a) OPENSSL_free(a); } static IMPLEMENT_LHASH_DOALL_FN(cleanup1, ADDED_OBJ) static IMPLEMENT_LHASH_DOALL_FN(cleanup2, ADDED_OBJ) static IMPLEMENT_LHASH_DOALL_FN(cleanup3, ADDED_OBJ) /* * The purpose of obj_cleanup_defer is to avoid EVP_cleanup() attempting to * use freed up OIDs. If necessary the actual freeing up of OIDs is delayed. Loading @@ -224,9 +220,9 @@ void OBJ_cleanup(void) if (added == NULL) return; lh_ADDED_OBJ_set_down_load(added, 0); lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup1)); /* zero counters */ lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup2)); /* set counters */ lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup3)); /* free objects */ lh_ADDED_OBJ_doall(added, cleanup1_doall); /* zero counters */ lh_ADDED_OBJ_doall(added, cleanup2_doall); /* set counters */ lh_ADDED_OBJ_doall(added, cleanup3_doall); /* free objects */ lh_ADDED_OBJ_free(added); added = NULL; } Loading
include/openssl/lhash.h +5 −10 Original line number Diff line number Diff line Loading @@ -113,15 +113,6 @@ typedef void (*LHASH_DOALL_ARG_FN_TYPE) (void *, void *); return name##_cmp(a,b); } # define LHASH_COMP_FN(name) name##_LHASH_COMP /* Third: "doall" functions */ # define DECLARE_LHASH_DOALL_FN(name, o_type) \ void name##_LHASH_DOALL(void *); # define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \ void name##_LHASH_DOALL(void *arg) { \ o_type *a = arg; \ name##_doall(a); } # define LHASH_DOALL_FN(name) name##_LHASH_DOALL /* Fourth: "doall_arg" functions */ # define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ void name##_LHASH_DOALL_ARG(void *, void *); Loading Loading @@ -246,13 +237,17 @@ void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); { \ lh_set_down_load((_LHASH *)lh, dl); \ } \ static inline void lh_##type##_doall(LHASH_OF(type) *lh, \ void (*doall)(type *)) \ { \ lh_doall((_LHASH *)lh, (LHASH_DOALL_FN_TYPE)doall); \ } \ LHASH_OF(type) # define CHECKED_LHASH_OF(type,lh) \ ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh)) /* Define wrapper functions. */ # define LHM_lh_doall(type, lh,fn) lh_doall(CHECKED_LHASH_OF(type, lh), fn) # define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \ lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) Loading