X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=jcc.c;h=2beca7b62c57f3520f32d1081e96d118bd5de185;hb=0d04dd411e43b85c164e15e504db49607be72b3b;hp=54b0b2d3ac31f7848fa74a1d4189a4e4f2251ea0;hpb=79b40b1f81c76e4e2116babf6e77a9af885db2ac;p=privoxy.git diff --git a/jcc.c b/jcc.c index 54b0b2d3..2beca7b6 100644 --- a/jcc.c +++ b/jcc.c @@ -2206,6 +2206,7 @@ static int send_http_request(struct client_state *csp) update_client_headers(csp, to_send_len)) { log_error(LOG_LEVEL_HEADER, "Error updating client headers"); + freez(to_send); return 1; } csp->expected_client_content_length = 0; @@ -2230,6 +2231,10 @@ static int send_http_request(struct client_state *csp) { log_error(LOG_LEVEL_CONNECT, "Failed sending request headers to: %s: %E", csp->http->hostport); + if (filter_client_body) + { + freez(to_send); + } return 1; } @@ -2801,6 +2806,8 @@ static jb_err process_encrypted_request_headers(struct client_state *csp) "Failed to get the encrypted request destination"); ssl_send_data_delayed(&(csp->ssl_client_attr), (const unsigned char *)CHEADER, strlen(CHEADER), get_write_delay(csp)); + destroy_list(headers); + return JB_ERR_PARSE; } @@ -6276,6 +6283,8 @@ static void listen_loop(void) log_error(LOG_LEVEL_INFO, "Graceful termination requested."); + close_ports_helper(bfds); + unload_current_config_file(); unload_current_actions_file(); unload_current_re_filterfile();