From cc2134c88badd541cfe1954c80e371db5f28ede3 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Sat, 11 Jan 2020 11:07:43 -0500 Subject: [PATCH] [multiple] copy small struct instead of memcpy() when patching config --- src/mod_access.c | 3 ++- src/mod_alias.c | 3 ++- src/mod_auth.c | 3 ++- src/mod_authn_file.c | 3 ++- src/mod_authn_gssapi.c | 3 ++- src/mod_authn_pam.c | 3 ++- src/mod_authn_sasl.c | 3 ++- src/mod_cgi.c | 3 ++- src/mod_evasive.c | 3 ++- src/mod_evhost.c | 3 ++- src/mod_expire.c | 3 ++- src/mod_flv_streaming.c | 3 ++- src/mod_geoip.c | 3 ++- src/mod_indexfile.c | 3 ++- src/mod_magnet.c | 3 ++- src/mod_maxminddb.c | 3 ++- src/mod_mysql_vhost.c | 3 ++- src/mod_redirect.c | 3 ++- src/mod_rewrite.c | 3 ++- src/mod_rrdtool.c | 3 ++- src/mod_simple_vhost.c | 3 ++- src/mod_skeleton.c | 3 ++- src/mod_staticfile.c | 3 ++- src/mod_status.c | 3 ++- src/mod_uploadprogress.c | 3 ++- src/mod_usertrack.c | 3 ++- src/mod_vhostdb_dbi.c | 3 ++- src/mod_vhostdb_ldap.c | 3 ++- src/mod_vhostdb_mysql.c | 3 ++- src/mod_vhostdb_pgsql.c | 3 ++- 30 files changed, 60 insertions(+), 30 deletions(-) diff --git a/src/mod_access.c b/src/mod_access.c index 93a2fab7..9b5cb5cd 100644 --- a/src/mod_access.c +++ b/src/mod_access.c @@ -45,7 +45,8 @@ static void mod_access_merge_config(plugin_config * const pconf, const config_pl } static void mod_access_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_access_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_alias.c b/src/mod_alias.c index d5883264..93c066af 100644 --- a/src/mod_alias.c +++ b/src/mod_alias.c @@ -41,7 +41,8 @@ static void mod_alias_merge_config(plugin_config * const pconf, const config_plu } static void mod_alias_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_alias_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_auth.c b/src/mod_auth.c index 8fb83bf0..f9d5597f 100644 --- a/src/mod_auth.c +++ b/src/mod_auth.c @@ -383,7 +383,8 @@ static void mod_auth_merge_config(plugin_config * const pconf, const config_plug } static void mod_auth_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_auth_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_authn_file.c b/src/mod_authn_file.c index 52667e84..c29c44e0 100644 --- a/src/mod_authn_file.c +++ b/src/mod_authn_file.c @@ -114,7 +114,8 @@ static void mod_authn_file_merge_config(plugin_config * const pconf, const confi } static void mod_authn_file_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_authn_file_merge_config(&p->conf, diff --git a/src/mod_authn_gssapi.c b/src/mod_authn_gssapi.c index 950a3411..43b19f03 100644 --- a/src/mod_authn_gssapi.c +++ b/src/mod_authn_gssapi.c @@ -90,7 +90,8 @@ static void mod_authn_gssapi_merge_config(plugin_config * const pconf, const con } static void mod_authn_gssapi_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_authn_gssapi_merge_config(&p->conf, diff --git a/src/mod_authn_pam.c b/src/mod_authn_pam.c index 4ce3bb54..317e7ff6 100644 --- a/src/mod_authn_pam.c +++ b/src/mod_authn_pam.c @@ -63,7 +63,8 @@ static void mod_authn_pam_merge_config(plugin_config * const pconf, const config } static void mod_authn_pam_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_authn_pam_merge_config(&p->conf, diff --git a/src/mod_authn_sasl.c b/src/mod_authn_sasl.c index c6eed5fd..5838a968 100644 --- a/src/mod_authn_sasl.c +++ b/src/mod_authn_sasl.c @@ -88,7 +88,8 @@ static void mod_authn_sasl_merge_config(plugin_config * const pconf, const confi } static void mod_authn_sasl_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_authn_sasl_merge_config(&p->conf, diff --git a/src/mod_cgi.c b/src/mod_cgi.c index 90a4fbde..10891c3d 100644 --- a/src/mod_cgi.c +++ b/src/mod_cgi.c @@ -179,7 +179,8 @@ static void mod_cgi_merge_config(plugin_config * const pconf, const config_plugi } static void mod_cgi_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_cgi_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_evasive.c b/src/mod_evasive.c index b32d4ff6..97f79805 100644 --- a/src/mod_evasive.c +++ b/src/mod_evasive.c @@ -65,7 +65,8 @@ static void mod_evasive_merge_config(plugin_config * const pconf, const config_p } static void mod_evasive_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_evasive_merge_config(&p->conf,p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_evhost.c b/src/mod_evhost.c index 141bd608..64d12bf9 100644 --- a/src/mod_evhost.c +++ b/src/mod_evhost.c @@ -151,7 +151,8 @@ static void mod_evhost_merge_config(plugin_config * const pconf, const config_pl } static void mod_evhost_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_evhost_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_expire.c b/src/mod_expire.c index efb58888..b9088f70 100644 --- a/src/mod_expire.c +++ b/src/mod_expire.c @@ -185,7 +185,8 @@ static void mod_expire_merge_config(plugin_config * const pconf, const config_pl } static void mod_expire_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_expire_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_flv_streaming.c b/src/mod_flv_streaming.c index 7b91dd78..3e64b346 100644 --- a/src/mod_flv_streaming.c +++ b/src/mod_flv_streaming.c @@ -43,7 +43,8 @@ static void mod_flv_streaming_merge_config(plugin_config * const pconf, const co } static void mod_flv_streaming_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_flv_streaming_merge_config(&p->conf, diff --git a/src/mod_geoip.c b/src/mod_geoip.c index 7c24cdea..372e1546 100644 --- a/src/mod_geoip.c +++ b/src/mod_geoip.c @@ -142,7 +142,8 @@ static void mod_geoip_merge_config(plugin_config * const pconf, const config_plu } static void mod_geoip_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_geoip_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_indexfile.c b/src/mod_indexfile.c index 17208d77..f745d39e 100644 --- a/src/mod_indexfile.c +++ b/src/mod_indexfile.c @@ -48,7 +48,8 @@ static void mod_indexfile_merge_config(plugin_config * const pconf, const config } static void mod_indexfile_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_indexfile_merge_config(&p->conf,p->cvlist+p->cvlist[i].v.u2[0]); diff --git a/src/mod_magnet.c b/src/mod_magnet.c index efd9ec61..63ef15f7 100644 --- a/src/mod_magnet.c +++ b/src/mod_magnet.c @@ -71,7 +71,8 @@ static void mod_magnet_merge_config(plugin_config * const pconf, const config_pl } static void mod_magnet_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_magnet_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_maxminddb.c b/src/mod_maxminddb.c index 28939408..18f7907c 100644 --- a/src/mod_maxminddb.c +++ b/src/mod_maxminddb.c @@ -260,7 +260,8 @@ mod_maxmind_patch_config (connection * const con, const plugin_data * const p, plugin_config * const pconf) { - memcpy(pconf, &p->defaults, sizeof(plugin_config)); + *pconf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(pconf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_maxminddb_merge_config(pconf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_mysql_vhost.c b/src/mod_mysql_vhost.c index 2fac2ede..dc6e2277 100644 --- a/src/mod_mysql_vhost.c +++ b/src/mod_mysql_vhost.c @@ -120,7 +120,8 @@ static void mod_mysql_vhost_merge_config(plugin_config * const pconf, const conf } static void mod_mysql_vhost_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_mysql_vhost_merge_config(&p->conf, diff --git a/src/mod_redirect.c b/src/mod_redirect.c index 3344d981..9e82ddc5 100644 --- a/src/mod_redirect.c +++ b/src/mod_redirect.c @@ -67,7 +67,8 @@ static void mod_redirect_merge_config(plugin_config * const pconf, const config_ } static void mod_redirect_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_redirect_merge_config(&p->conf, p->cvlist+p->cvlist[i].v.u2[0]); diff --git a/src/mod_rewrite.c b/src/mod_rewrite.c index ecc92c65..69eb93a5 100644 --- a/src/mod_rewrite.c +++ b/src/mod_rewrite.c @@ -85,7 +85,8 @@ static void mod_rewrite_merge_config(plugin_config * const pconf, const config_p } static void mod_rewrite_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_rewrite_merge_config(&p->conf, p->cvlist+p->cvlist[i].v.u2[0]); diff --git a/src/mod_rrdtool.c b/src/mod_rrdtool.c index 158032e2..94f54f89 100644 --- a/src/mod_rrdtool.c +++ b/src/mod_rrdtool.c @@ -152,7 +152,8 @@ static void mod_rrd_merge_config(plugin_config * const pconf, const config_plugi } static void mod_rrd_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_rrd_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_simple_vhost.c b/src/mod_simple_vhost.c index d1c69536..2e245be4 100644 --- a/src/mod_simple_vhost.c +++ b/src/mod_simple_vhost.c @@ -62,7 +62,8 @@ static void mod_simple_vhost_merge_config(plugin_config * const pconf, const con } static void mod_simple_vhost_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_simple_vhost_merge_config(&p->conf, diff --git a/src/mod_skeleton.c b/src/mod_skeleton.c index 88d287d0..e433e5ac 100644 --- a/src/mod_skeleton.c +++ b/src/mod_skeleton.c @@ -78,7 +78,8 @@ static void mod_skeleton_merge_config(plugin_config * const pconf, const config_ } static void mod_skeleton_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_skeleton_merge_config(&p->conf, p->cvlist+p->cvlist[i].v.u2[0]); diff --git a/src/mod_staticfile.c b/src/mod_staticfile.c index 22b2af01..f6d5131b 100644 --- a/src/mod_staticfile.c +++ b/src/mod_staticfile.c @@ -56,7 +56,8 @@ static void mod_staticfile_merge_config(plugin_config * const pconf, const confi } static void mod_staticfile_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_staticfile_merge_config(&p->conf, diff --git a/src/mod_status.c b/src/mod_status.c index 9ee5d32c..b7769ff3 100644 --- a/src/mod_status.c +++ b/src/mod_status.c @@ -75,7 +75,8 @@ static void mod_status_merge_config(plugin_config * const pconf, const config_pl } static void mod_status_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_status_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_uploadprogress.c b/src/mod_uploadprogress.c index ea012996..89372920 100644 --- a/src/mod_uploadprogress.c +++ b/src/mod_uploadprogress.c @@ -147,7 +147,8 @@ static void mod_uploadprogress_merge_config(plugin_config * const pconf, const c } static void mod_uploadprogress_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_uploadprogress_merge_config(&p->conf, diff --git a/src/mod_usertrack.c b/src/mod_usertrack.c index 50c6e113..e7fdb75c 100644 --- a/src/mod_usertrack.c +++ b/src/mod_usertrack.c @@ -56,7 +56,8 @@ static void mod_usertrack_merge_config(plugin_config * const pconf, const config } static void mod_usertrack_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_usertrack_merge_config(&p->conf, p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_vhostdb_dbi.c b/src/mod_vhostdb_dbi.c index f25be7f3..a8e80f89 100644 --- a/src/mod_vhostdb_dbi.c +++ b/src/mod_vhostdb_dbi.c @@ -269,7 +269,8 @@ static void mod_vhostdb_merge_config(plugin_config * const pconf, const config_p } static void mod_vhostdb_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_vhostdb_merge_config(&p->conf,p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_vhostdb_ldap.c b/src/mod_vhostdb_ldap.c index 576fd680..e06eb719 100644 --- a/src/mod_vhostdb_ldap.c +++ b/src/mod_vhostdb_ldap.c @@ -496,7 +496,8 @@ static void mod_vhostdb_merge_config(plugin_config * const pconf, const config_p } static void mod_vhostdb_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_vhostdb_merge_config(&p->conf,p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_vhostdb_mysql.c b/src/mod_vhostdb_mysql.c index 3ad9a8db..199020db 100644 --- a/src/mod_vhostdb_mysql.c +++ b/src/mod_vhostdb_mysql.c @@ -230,7 +230,8 @@ static void mod_vhostdb_merge_config(plugin_config * const pconf, const config_p } static void mod_vhostdb_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_vhostdb_merge_config(&p->conf,p->cvlist + p->cvlist[i].v.u2[0]); diff --git a/src/mod_vhostdb_pgsql.c b/src/mod_vhostdb_pgsql.c index 2fc26a78..43610f9c 100644 --- a/src/mod_vhostdb_pgsql.c +++ b/src/mod_vhostdb_pgsql.c @@ -208,7 +208,8 @@ static void mod_vhostdb_merge_config(plugin_config * const pconf, const config_p } static void mod_vhostdb_patch_config(connection * const con, plugin_data * const p) { - memcpy(&p->conf, &p->defaults, sizeof(plugin_config)); + p->conf = p->defaults; /* copy small struct instead of memcpy() */ + /*memcpy(&p->conf, &p->defaults, sizeof(plugin_config));*/ for (int i = 1, used = p->nconfig; i < used; ++i) { if (config_check_cond(con, (uint32_t)p->cvlist[i].k_id)) mod_vhostdb_merge_config(&p->conf,p->cvlist + p->cvlist[i].v.u2[0]);