X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=cgisimple.c;h=7d64402147727f735993440478df23cbf8cd9a9a;hp=aaa3cd7320e7a977758509f7f6f616e87e0df357;hb=4e085026d30008d351868d37da769a45d5fb36e8;hpb=9587e49bd27e17cf3684d853f50714442494b2c3 diff --git a/cgisimple.c b/cgisimple.c index aaa3cd73..7d644021 100644 --- a/cgisimple.c +++ b/cgisimple.c @@ -1,4 +1,4 @@ -const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.122 2014/05/20 11:54:24 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 $ @@ -6,7 +6,7 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.122 2014/05/20 11:54:24 fabia * Purpose : Simple CGIs to get information about Privoxy's * status. * - * Copyright : Written by and Copyright (C) 2001-2013 the + * Copyright : Written by and Copyright (C) 2001-2014 the * Privoxy team. http://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -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("