X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=loadcfg.c;h=539d2b1c4e3348d0e55985dfdf4bc962186688bc;hp=d7401521b394c9a3499d6daa9fa3077718db5e3b;hb=d65d89c627af7e5ca969d69130099738d6685c64;hpb=bd7800c807e535d21222fa41cb29537cb865b170 diff --git a/loadcfg.c b/loadcfg.c index d7401521..539d2b1c 100644 --- a/loadcfg.c +++ b/loadcfg.c @@ -62,10 +62,8 @@ #else /* ifndef _WIN32 */ -#ifndef __OS2__ # include # include -#endif # include # include # include @@ -121,7 +119,7 @@ static struct file_list *current_configfile = NULL; /* * This takes the "cryptic" hash of each keyword and aliases them to * something a little more readable. This also makes changing the - * hash values easier if they should change or the hash algorthm changes. + * hash values easier if they should change or the hash algorithm changes. * Use the included "hash" program to find out what the hash will be * for any string supplied on the command line. (Or just put it in the * config file and read the number from the error message in the log). @@ -239,11 +237,9 @@ static void unload_configfile (void * data) while (cur_fwd != NULL) { struct forward_spec * next_fwd = cur_fwd->next; - free_pattern_spec(cur_fwd->url); - freez(cur_fwd->gateway_host); - freez(cur_fwd->forward_host); - free(cur_fwd); + unload_forward_spec(cur_fwd); + cur_fwd = next_fwd; } config->forward = NULL; @@ -273,6 +269,7 @@ static void unload_configfile (void * data) list_remove_all(config->ordered_client_headers); freez(config->admin_address); + freez(config->cors_allowed_origin); freez(config->proxy_info_url); freez(config->proxy_args); freez(config->usermanual); @@ -1489,8 +1486,6 @@ struct configuration_spec * load_config(void) * * On platforms were we use poll() we don't have to enforce * an upper connection limit either. - * - * XXX: Do OS/2 etc. belong here as well? */ if (max_client_connections < 1) { @@ -1746,6 +1741,7 @@ struct configuration_spec * load_config(void) * ca-directory directory * *************************************************************************/ case hash_ca_directory: + freez(ca_directory); ca_directory = make_path(NULL, arg); if (NULL == ca_directory) @@ -1760,6 +1756,7 @@ struct configuration_spec * load_config(void) * In ca dir by default * *************************************************************************/ case hash_ca_cert_file: + freez(ca_cert_file); ca_cert_file = make_path(config->ca_directory, arg); if (NULL == ca_cert_file) @@ -1774,6 +1771,7 @@ struct configuration_spec * load_config(void) * In ca dir by default * *************************************************************************/ case hash_ca_key_file: + freez(ca_key_file); ca_key_file = make_path(config->ca_directory, arg); if (NULL == ca_key_file) @@ -1787,6 +1785,7 @@ struct configuration_spec * load_config(void) * certificate-directory directory * *************************************************************************/ case hash_certificate_directory: + freez(certificate_directory); certificate_directory = make_path(NULL, arg); if (NULL == certificate_directory) @@ -1801,6 +1800,7 @@ struct configuration_spec * load_config(void) * trusted CAs file name trusted-cas-file * *************************************************************************/ case hash_trusted_cas_file: + freez(trusted_cas_file); trusted_cas_file = make_path(config->ca_directory, arg); if (NULL == trusted_cas_file)