Loading crypto/conf/conf_api.c +7 −9 Original line number Diff line number Diff line Loading @@ -70,11 +70,8 @@ #include <openssl/conf_api.h> #include "e_os.h" static void value_free_hash_doall_arg(CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf); static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf); static void value_free_stack_doall(CONF_VALUE *a); static IMPLEMENT_LHASH_DOALL_ARG_FN(value_free_hash, CONF_VALUE, LHASH_OF(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 @@ -193,6 +190,10 @@ int _CONF_new_data(CONF *conf) return 1; } typedef LHASH_OF(CONF_VALUE) LH_CONF_VALUE; IMPLEMENT_LHASH_DOALL_ARG_CONST(CONF_VALUE, LH_CONF_VALUE); void _CONF_free_data(CONF *conf) { if (conf == NULL || conf->data == NULL) Loading @@ -200,9 +201,7 @@ void _CONF_free_data(CONF *conf) /* evil thing to make sure the 'OPENSSL_free()' works as expected */ lh_CONF_VALUE_set_down_load(conf->data, 0); lh_CONF_VALUE_doall_arg(conf->data, LHASH_DOALL_ARG_FN(value_free_hash), LHASH_OF(CONF_VALUE), conf->data); lh_CONF_VALUE_doall_LH_CONF_VALUE(conf->data, value_free_hash, conf->data); /* * We now have only 'section' entries in the hash table. Due to problems Loading @@ -213,8 +212,7 @@ void _CONF_free_data(CONF *conf) lh_CONF_VALUE_free(conf->data); } static void value_free_hash_doall_arg(CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf) static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf) { if (a->name != NULL) (void)lh_CONF_VALUE_delete(conf, a); Loading crypto/conf/conf_def.c +3 −4 Original line number Diff line number Diff line Loading @@ -652,7 +652,7 @@ static char *scan_dquote(CONF *conf, char *p) return (p); } static void dump_value_doall_arg(CONF_VALUE *a, BIO *out) static void dump_value_doall_arg(const CONF_VALUE *a, BIO *out) { if (a->name) BIO_printf(out, "[%s] %s=%s\n", a->section, a->name, a->value); Loading @@ -660,12 +660,11 @@ static void dump_value_doall_arg(CONF_VALUE *a, BIO *out) BIO_printf(out, "[[%s]]\n", a->section); } static IMPLEMENT_LHASH_DOALL_ARG_FN(dump_value, CONF_VALUE, BIO) IMPLEMENT_LHASH_DOALL_ARG_CONST(CONF_VALUE, BIO); static int def_dump(const CONF *conf, BIO *out) { lh_CONF_VALUE_doall_arg(conf->data, LHASH_DOALL_ARG_FN(dump_value), BIO, out); lh_CONF_VALUE_doall_BIO(conf->data, dump_value_doall_arg, out); return 1; } Loading crypto/engine/eng_table.c +6 −10 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ int engine_table_register(ENGINE_TABLE **table, ENGINE_CLEANUP_CB *cleanup, return ret; } static void int_unregister_cb_doall_arg(ENGINE_PILE *pile, ENGINE *e) static void int_unregister_cb(ENGINE_PILE *pile, ENGINE *e) { int n; /* Iterate the 'c->sk' stack removing any occurrence of 'e' */ Loading @@ -197,15 +197,13 @@ static void int_unregister_cb_doall_arg(ENGINE_PILE *pile, ENGINE *e) } } static IMPLEMENT_LHASH_DOALL_ARG_FN(int_unregister_cb, ENGINE_PILE, ENGINE) IMPLEMENT_LHASH_DOALL_ARG(ENGINE_PILE, ENGINE); void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e) { CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); if (int_table_check(table, 0)) lh_ENGINE_PILE_doall_arg(&(*table)->piles, LHASH_DOALL_ARG_FN(int_unregister_cb), ENGINE, e); lh_ENGINE_PILE_doall_ENGINE(&(*table)->piles, int_unregister_cb, e); CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); } Loading Loading @@ -332,12 +330,12 @@ ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, /* Table enumeration */ static void int_cb_doall_arg(ENGINE_PILE *pile, ENGINE_PILE_DOALL *dall) static void int_dall(const ENGINE_PILE *pile, ENGINE_PILE_DOALL *dall) { dall->cb(pile->nid, pile->sk, pile->funct, dall->arg); } static IMPLEMENT_LHASH_DOALL_ARG_FN(int_cb, ENGINE_PILE, ENGINE_PILE_DOALL) IMPLEMENT_LHASH_DOALL_ARG_CONST(ENGINE_PILE, ENGINE_PILE_DOALL); void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb *cb, void *arg) Loading @@ -346,7 +344,5 @@ void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb *cb, dall.cb = cb; dall.arg = arg; if (table) lh_ENGINE_PILE_doall_arg(&table->piles, LHASH_DOALL_ARG_FN(int_cb), ENGINE_PILE_DOALL, &dall); lh_ENGINE_PILE_doall_ENGINE_PILE_DOALL(&table->piles, int_dall, &dall); } crypto/mem_dbg.c +3 −3 Original line number Diff line number Diff line Loading @@ -544,7 +544,7 @@ typedef struct mem_leak_st { long bytes; } MEM_LEAK; static void print_leak_doall_arg(const MEM *m, MEM_LEAK *l) static void print_leak(const MEM *m, MEM_LEAK *l) { char buf[1024]; char *bufp = buf; Loading Loading @@ -629,7 +629,7 @@ static void print_leak_doall_arg(const MEM *m, MEM_LEAK *l) #endif } static IMPLEMENT_LHASH_DOALL_ARG_FN(print_leak, const MEM, MEM_LEAK) IMPLEMENT_LHASH_DOALL_ARG_CONST(MEM, MEM_LEAK); int CRYPTO_mem_leaks(BIO *b) { Loading @@ -645,7 +645,7 @@ int CRYPTO_mem_leaks(BIO *b) ml.chunks = 0; ml.seen = 0; if (mh != NULL) lh_MEM_doall_arg(mh, LHASH_DOALL_ARG_FN(print_leak), MEM_LEAK, &ml); lh_MEM_doall_MEM_LEAK(mh, print_leak, &ml); /* Don't count the BIO that was passed in as a "leak" */ if (ml.seen && ml.chunks >= 1 && ml.bytes >= (int)sizeof (*b)) { ml.chunks--; Loading crypto/objects/o_names.c +6 −7 Original line number Diff line number Diff line Loading @@ -234,31 +234,30 @@ int OBJ_NAME_remove(const char *name, int type) return (0); } struct doall { typedef struct { int type; void (*fn) (const OBJ_NAME *, void *arg); void *arg; }; } OBJ_DOALL; static void do_all_fn_doall_arg(const OBJ_NAME *name, struct doall *d) static void do_all_fn(const OBJ_NAME *name, OBJ_DOALL *d) { if (name->type == d->type) d->fn(name, d->arg); } static IMPLEMENT_LHASH_DOALL_ARG_FN(do_all_fn, const OBJ_NAME, struct doall) IMPLEMENT_LHASH_DOALL_ARG_CONST(OBJ_NAME, OBJ_DOALL); void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), void *arg) { struct doall d; OBJ_DOALL d; d.type = type; d.fn = fn; d.arg = arg; lh_OBJ_NAME_doall_arg(names_lh, LHASH_DOALL_ARG_FN(do_all_fn), struct doall, &d); lh_OBJ_NAME_doall_OBJ_DOALL(names_lh, do_all_fn, &d); } struct doall_sorted { Loading Loading
crypto/conf/conf_api.c +7 −9 Original line number Diff line number Diff line Loading @@ -70,11 +70,8 @@ #include <openssl/conf_api.h> #include "e_os.h" static void value_free_hash_doall_arg(CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf); static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf); static void value_free_stack_doall(CONF_VALUE *a); static IMPLEMENT_LHASH_DOALL_ARG_FN(value_free_hash, CONF_VALUE, LHASH_OF(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 @@ -193,6 +190,10 @@ int _CONF_new_data(CONF *conf) return 1; } typedef LHASH_OF(CONF_VALUE) LH_CONF_VALUE; IMPLEMENT_LHASH_DOALL_ARG_CONST(CONF_VALUE, LH_CONF_VALUE); void _CONF_free_data(CONF *conf) { if (conf == NULL || conf->data == NULL) Loading @@ -200,9 +201,7 @@ void _CONF_free_data(CONF *conf) /* evil thing to make sure the 'OPENSSL_free()' works as expected */ lh_CONF_VALUE_set_down_load(conf->data, 0); lh_CONF_VALUE_doall_arg(conf->data, LHASH_DOALL_ARG_FN(value_free_hash), LHASH_OF(CONF_VALUE), conf->data); lh_CONF_VALUE_doall_LH_CONF_VALUE(conf->data, value_free_hash, conf->data); /* * We now have only 'section' entries in the hash table. Due to problems Loading @@ -213,8 +212,7 @@ void _CONF_free_data(CONF *conf) lh_CONF_VALUE_free(conf->data); } static void value_free_hash_doall_arg(CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf) static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf) { if (a->name != NULL) (void)lh_CONF_VALUE_delete(conf, a); Loading
crypto/conf/conf_def.c +3 −4 Original line number Diff line number Diff line Loading @@ -652,7 +652,7 @@ static char *scan_dquote(CONF *conf, char *p) return (p); } static void dump_value_doall_arg(CONF_VALUE *a, BIO *out) static void dump_value_doall_arg(const CONF_VALUE *a, BIO *out) { if (a->name) BIO_printf(out, "[%s] %s=%s\n", a->section, a->name, a->value); Loading @@ -660,12 +660,11 @@ static void dump_value_doall_arg(CONF_VALUE *a, BIO *out) BIO_printf(out, "[[%s]]\n", a->section); } static IMPLEMENT_LHASH_DOALL_ARG_FN(dump_value, CONF_VALUE, BIO) IMPLEMENT_LHASH_DOALL_ARG_CONST(CONF_VALUE, BIO); static int def_dump(const CONF *conf, BIO *out) { lh_CONF_VALUE_doall_arg(conf->data, LHASH_DOALL_ARG_FN(dump_value), BIO, out); lh_CONF_VALUE_doall_BIO(conf->data, dump_value_doall_arg, out); return 1; } Loading
crypto/engine/eng_table.c +6 −10 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ int engine_table_register(ENGINE_TABLE **table, ENGINE_CLEANUP_CB *cleanup, return ret; } static void int_unregister_cb_doall_arg(ENGINE_PILE *pile, ENGINE *e) static void int_unregister_cb(ENGINE_PILE *pile, ENGINE *e) { int n; /* Iterate the 'c->sk' stack removing any occurrence of 'e' */ Loading @@ -197,15 +197,13 @@ static void int_unregister_cb_doall_arg(ENGINE_PILE *pile, ENGINE *e) } } static IMPLEMENT_LHASH_DOALL_ARG_FN(int_unregister_cb, ENGINE_PILE, ENGINE) IMPLEMENT_LHASH_DOALL_ARG(ENGINE_PILE, ENGINE); void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e) { CRYPTO_w_lock(CRYPTO_LOCK_ENGINE); if (int_table_check(table, 0)) lh_ENGINE_PILE_doall_arg(&(*table)->piles, LHASH_DOALL_ARG_FN(int_unregister_cb), ENGINE, e); lh_ENGINE_PILE_doall_ENGINE(&(*table)->piles, int_unregister_cb, e); CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE); } Loading Loading @@ -332,12 +330,12 @@ ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, /* Table enumeration */ static void int_cb_doall_arg(ENGINE_PILE *pile, ENGINE_PILE_DOALL *dall) static void int_dall(const ENGINE_PILE *pile, ENGINE_PILE_DOALL *dall) { dall->cb(pile->nid, pile->sk, pile->funct, dall->arg); } static IMPLEMENT_LHASH_DOALL_ARG_FN(int_cb, ENGINE_PILE, ENGINE_PILE_DOALL) IMPLEMENT_LHASH_DOALL_ARG_CONST(ENGINE_PILE, ENGINE_PILE_DOALL); void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb *cb, void *arg) Loading @@ -346,7 +344,5 @@ void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb *cb, dall.cb = cb; dall.arg = arg; if (table) lh_ENGINE_PILE_doall_arg(&table->piles, LHASH_DOALL_ARG_FN(int_cb), ENGINE_PILE_DOALL, &dall); lh_ENGINE_PILE_doall_ENGINE_PILE_DOALL(&table->piles, int_dall, &dall); }
crypto/mem_dbg.c +3 −3 Original line number Diff line number Diff line Loading @@ -544,7 +544,7 @@ typedef struct mem_leak_st { long bytes; } MEM_LEAK; static void print_leak_doall_arg(const MEM *m, MEM_LEAK *l) static void print_leak(const MEM *m, MEM_LEAK *l) { char buf[1024]; char *bufp = buf; Loading Loading @@ -629,7 +629,7 @@ static void print_leak_doall_arg(const MEM *m, MEM_LEAK *l) #endif } static IMPLEMENT_LHASH_DOALL_ARG_FN(print_leak, const MEM, MEM_LEAK) IMPLEMENT_LHASH_DOALL_ARG_CONST(MEM, MEM_LEAK); int CRYPTO_mem_leaks(BIO *b) { Loading @@ -645,7 +645,7 @@ int CRYPTO_mem_leaks(BIO *b) ml.chunks = 0; ml.seen = 0; if (mh != NULL) lh_MEM_doall_arg(mh, LHASH_DOALL_ARG_FN(print_leak), MEM_LEAK, &ml); lh_MEM_doall_MEM_LEAK(mh, print_leak, &ml); /* Don't count the BIO that was passed in as a "leak" */ if (ml.seen && ml.chunks >= 1 && ml.bytes >= (int)sizeof (*b)) { ml.chunks--; Loading
crypto/objects/o_names.c +6 −7 Original line number Diff line number Diff line Loading @@ -234,31 +234,30 @@ int OBJ_NAME_remove(const char *name, int type) return (0); } struct doall { typedef struct { int type; void (*fn) (const OBJ_NAME *, void *arg); void *arg; }; } OBJ_DOALL; static void do_all_fn_doall_arg(const OBJ_NAME *name, struct doall *d) static void do_all_fn(const OBJ_NAME *name, OBJ_DOALL *d) { if (name->type == d->type) d->fn(name, d->arg); } static IMPLEMENT_LHASH_DOALL_ARG_FN(do_all_fn, const OBJ_NAME, struct doall) IMPLEMENT_LHASH_DOALL_ARG_CONST(OBJ_NAME, OBJ_DOALL); void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg), void *arg) { struct doall d; OBJ_DOALL d; d.type = type; d.fn = fn; d.arg = arg; lh_OBJ_NAME_doall_arg(names_lh, LHASH_DOALL_ARG_FN(do_all_fn), struct doall, &d); lh_OBJ_NAME_doall_OBJ_DOALL(names_lh, do_all_fn, &d); } struct doall_sorted { Loading