X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=cgisimple.c;h=7d64402147727f735993440478df23cbf8cd9a9a;hp=6d75da606cdf80c93fc7927ee894e1cc54576b9a;hb=d4f4e86c3ee61b1911eee63b96dd1731086d2486;hpb=9b18513b5159156a8f29376aca23d711df43370f diff --git a/cgisimple.c b/cgisimple.c index 6d75da60..7d644021 100644 --- a/cgisimple.c +++ b/cgisimple.c @@ -1,4 +1,4 @@ -const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.123 2014/05/20 11:55:09 fabiankeil Exp $"; +const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.131 2014/10/18 11:28:49 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $ @@ -142,12 +142,7 @@ jb_err cgi_error_404(struct client_state *csp, return JB_ERR_MEMORY; } - rsp->status = strdup("404 Privoxy configuration page not found"); - if (rsp->status == NULL) - { - free_map(exports); - return JB_ERR_MEMORY; - } + rsp->status = strdup_or_die("404 Privoxy configuration page not found"); return template_fill_for_cgi(csp, "cgi-error-404", exports, rsp); } @@ -171,7 +166,6 @@ jb_err cgi_error_404(struct client_state *csp, * CGI Parameters : none * * Returns : JB_ERR_OK on success - * JB_ERR_MEMORY on out-of-memory error. * *********************************************************************/ jb_err cgi_die (struct client_state *csp, @@ -205,13 +199,8 @@ jb_err cgi_die (struct client_state *csp, rsp->head_length = 0; rsp->is_static = 0; - rsp->body = strdup(body); - rsp->status = strdup(status); - - if ((rsp->body == NULL) || (rsp->status == NULL)) - { - return JB_ERR_MEMORY; - } + rsp->body = strdup_or_die(body); + rsp->status = strdup_or_die(status); return JB_ERR_OK; } @@ -374,11 +363,7 @@ jb_err cgi_send_banner(struct client_state *csp, */ if (imagetype == 'r') { - rsp->status = strdup("302 Local Redirect from Privoxy"); - if (rsp->status == NULL) - { - return JB_ERR_MEMORY; - } + rsp->status = strdup_or_die("302 Local Redirect from Privoxy"); if (enlist_unique_header(rsp->headers, "Location", csp->action->string[ACTION_STRING_IMAGE_BLOCKER])) { @@ -697,8 +682,8 @@ static const char *get_content_type(const char *filename) int i; struct content_type { - const char *extension; - const char *content_type; + const char extension[6]; + const char content_type[11]; }; static const struct content_type content_types[] = { @@ -963,7 +948,7 @@ jb_err cgi_show_status(struct client_state *csp, } #else /* ndef FEATURE_STATISTICS */ - err = err || map_block_killer(exports, "statistics"); + if (!err) err = map_block_killer(exports, "statistics"); #endif /* ndef FEATURE_STATISTICS */ /* @@ -985,7 +970,6 @@ jb_err cgi_show_status(struct client_state *csp, #ifdef FEATURE_CGI_EDIT_ACTIONS if ((csp->config->feature_flags & RUNTIME_FEATURE_CGI_EDIT_ACTIONS) - && (NULL == strstr(csp->actions_list[i]->filename, "standard.action")) && (NULL != csp->config->actions_file_short[i])) { #ifdef HAVE_ACCESS @@ -1064,6 +1048,8 @@ jb_err cgi_show_status(struct client_state *csp, } #endif /* ndef CGI_EDIT_ACTIONS */ + if (!err) err = map(exports, "force-prefix", 1, FORCE_PREFIX, 1); + if (err) { free_map(exports); @@ -1117,12 +1103,7 @@ jb_err cgi_show_url_info(struct client_state *csp, /* * Get the url= parameter (if present) and remove any leading/trailing spaces. */ - url_param = strdup(lookup(parameters, "url")); - if (url_param == NULL) - { - free_map(exports); - return JB_ERR_MEMORY; - } + url_param = strdup_or_die(lookup(parameters, "url")); chomp(url_param); /* @@ -1165,7 +1146,7 @@ jb_err cgi_show_url_info(struct client_state *csp, * No prefix or at least no prefix before * the first slash - assume http:// */ - char *url_param_prefixed = strdup("http://"); + char *url_param_prefixed = strdup_or_die("http://"); if (JB_ERR_OK != string_join(&url_param_prefixed, url_param)) { @@ -1185,6 +1166,7 @@ jb_err cgi_show_url_info(struct client_state *csp, map_block_killer(exports, "privoxy-is-toggled-off") ) { + freez(url_param); free_map(exports); return JB_ERR_MEMORY; } @@ -1277,7 +1259,7 @@ jb_err cgi_show_url_info(struct client_state *csp, } } - matches = strdup("