X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=cgiedit.c;h=e824129516aceabf258b967fb39f68658783d609;hp=6f68d6f639423ca55627f3284f3bf8bc08cee0e3;hb=60157efc56349bbfc8215ae7ede2ea551385d106;hpb=50f87c9446b435d47c371f63615260636639f450 diff --git a/cgiedit.c b/cgiedit.c index 6f68d6f6..e8241295 100644 --- a/cgiedit.c +++ b/cgiedit.c @@ -1,4 +1,4 @@ -const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.73 2012/03/09 16:23:50 fabiankeil Exp $"; +const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.75 2012/03/09 17:55:49 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgiedit.c,v $ @@ -494,7 +494,7 @@ jb_err cgi_edit_actions_url_form(struct client_state *csp, cur_line = cur_line->next; } - if ((cur_line == NULL) + if ( (cur_line == NULL) || (line_number != patternid) || (patternid < 1U) || (cur_line->type != FILE_LINE_URL)) @@ -654,7 +654,7 @@ jb_err cgi_edit_actions_remove_url_form(struct client_state *csp, cur_line = cur_line->next; } - if ((cur_line == NULL) + if ( (cur_line == NULL) || (line_number != patternid) || (patternid < 1U) || (cur_line->type != FILE_LINE_URL)) @@ -765,12 +765,7 @@ jb_err edit_write_file(struct editable_file * file) /* Allocate new memory for string */ len = strlen(cur_line->unprocessed) + (size_t)numhash; - if (NULL == (str = malloc(len + 1))) - { - /* Uh oh, just trashed file! */ - fclose(fp); - return JB_ERR_MEMORY; - } + str = malloc_or_die(len + 1); /* Copy string but quote hashes */ src = cur_line->unprocessed; @@ -1061,10 +1056,7 @@ static jb_err split_line_on_equals(const char * line, char ** pname, char ** pva } name_len = (size_t)(name_end - line) + 1; /* Length excluding \0 */ - if (NULL == (*pname = (char *) malloc(name_len + 1))) - { - return JB_ERR_MEMORY; - } + *pname = malloc_or_die(name_len + 1); strncpy(*pname, line, name_len); (*pname)[name_len] = '\0'; @@ -1135,7 +1127,7 @@ jb_err edit_parse_actions_file(struct editable_file * file) * empty (which is valid, but pointless). */ while ((cur_line != NULL) - && (cur_line->unprocessed[0] == '\0')) + && (cur_line->unprocessed[0] == '\0')) { /* Blank line */ cur_line->type = FILE_LINE_BLANK; @@ -1143,7 +1135,7 @@ jb_err edit_parse_actions_file(struct editable_file * file) } if ((cur_line != NULL) - && (cur_line->unprocessed[0] != '{')) + && (cur_line->unprocessed[0] != '{')) { /* File doesn't start with a header */ file->parse_error = cur_line; @@ -1152,7 +1144,7 @@ jb_err edit_parse_actions_file(struct editable_file * file) } if ((cur_line != NULL) && (0 == - match_actions_file_header_line(cur_line->unprocessed, "settings")) ) + match_actions_file_header_line(cur_line->unprocessed, "settings"))) { cur_line->type = FILE_LINE_SETTINGS_HEADER; @@ -1187,7 +1179,7 @@ jb_err edit_parse_actions_file(struct editable_file * file) } if ((cur_line != NULL) && (0 == - match_actions_file_header_line(cur_line->unprocessed, "description")) ) + match_actions_file_header_line(cur_line->unprocessed, "description"))) { cur_line->type = FILE_LINE_DESCRIPTION_HEADER; @@ -1207,7 +1199,7 @@ jb_err edit_parse_actions_file(struct editable_file * file) } if ((cur_line != NULL) && (0 == - match_actions_file_header_line(cur_line->unprocessed, "alias")) ) + match_actions_file_header_line(cur_line->unprocessed, "alias"))) { cur_line->type = FILE_LINE_ALIAS_HEADER; @@ -1318,7 +1310,7 @@ jb_err edit_parse_actions_file(struct editable_file * file) } while ((len > (size_t)0) && ((text[len - 1] == ' ') - || (text[len - 1] == '\t')) ) + || (text[len - 1] == '\t'))) { len--; } @@ -1326,12 +1318,7 @@ jb_err edit_parse_actions_file(struct editable_file * file) cur_line->type = FILE_LINE_ACTION; /* Remove {} and make copy */ - if (NULL == (value = (char *) malloc(len + 1))) - { - /* Out of memory */ - free_alias_list(alias_list); - return JB_ERR_MEMORY; - } + value = malloc_or_die(len + 1); strncpy(value, text, len); value[len] = '\0'; @@ -1779,7 +1766,7 @@ static jb_err get_file_name_param(struct client_state *csp, s = param; while ((ch = *s++) != '\0') { - if (((ch < 'A') || (ch > 'Z')) + if ( ((ch < 'A') || (ch > 'Z')) && ((ch < 'a') || (ch > 'z')) && ((ch < '0') || (ch > '9')) && (ch != '-') @@ -1792,11 +1779,7 @@ static jb_err get_file_name_param(struct client_state *csp, /* Append extension */ name_size = len + strlen(suffix) + 1; - name = malloc(name_size); - if (name == NULL) - { - return JB_ERR_MEMORY; - } + name = malloc_or_die(name_size); strlcpy(name, param, name_size); strlcat(name, suffix, name_size); @@ -1996,11 +1979,7 @@ static jb_err map_radio(struct map * exports, assert(optionname); assert(values); - buf = malloc(buf_size); - if (buf == NULL) - { - return JB_ERR_MEMORY; - } + buf = malloc_or_die(buf_size); strlcpy(buf, optionname, buf_size); @@ -2331,14 +2310,14 @@ jb_err cgi_edit_actions_list(struct client_state *csp, * cur_line->next = / * cur_line->next->next = {...actions...} or EOF */ - if ((cur_line != NULL) + if ( (cur_line != NULL) && (cur_line->type == FILE_LINE_ACTION) && (cur_line->next != NULL) && (cur_line->next->type == FILE_LINE_URL) && (0 == strcmp(cur_line->next->unprocessed, "/")) - && ((cur_line->next->next == NULL) + && ( (cur_line->next->next == NULL) || (cur_line->next->next->type != FILE_LINE_URL) - ) ) + ) ) { /* * Generate string with buttons to set actions for "/" to @@ -2669,7 +2648,7 @@ jb_err cgi_edit_actions_list(struct client_state *csp, if (!err) err = map(section_exports, "s-next", 1, buf, 1); if ((cur_line != NULL) - && (cur_line->type == FILE_LINE_ACTION)) + && (cur_line->type == FILE_LINE_ACTION)) { /* Not last section */ if (!err) err = map_block_keep(section_exports, "s-next-exists"); @@ -2793,7 +2772,7 @@ jb_err cgi_edit_actions_for_url(struct client_state *csp, cur_line = cur_line->next; } - if ((cur_line == NULL) + if ( (cur_line == NULL) || (line_number != sectionid) || (sectionid < 1) || (cur_line->type != FILE_LINE_ACTION)) @@ -3072,7 +3051,7 @@ jb_err cgi_edit_actions_submit(struct client_state *csp, cur_line = cur_line->next; } - if ((cur_line == NULL) + if ( (cur_line == NULL) || (line_number != sectionid) || (sectionid < 1) || (cur_line->type != FILE_LINE_ACTION)) @@ -3240,13 +3219,7 @@ jb_err cgi_edit_actions_submit(struct client_state *csp, } newtext_size = len + 2; - if (NULL == (newtext = malloc(newtext_size))) - { - /* Out of memory */ - free(actiontext); - edit_free_file(file); - return JB_ERR_MEMORY; - } + newtext = malloc_or_die(newtext_size); strlcpy(newtext, actiontext, newtext_size); free(actiontext); newtext[0] = '{'; @@ -3364,7 +3337,7 @@ jb_err cgi_edit_actions_url(struct client_state *csp, } if ((cur_line == NULL) - || (cur_line->type != FILE_LINE_URL)) + || (cur_line->type != FILE_LINE_URL)) { /* Invalid "patternid" parameter */ free(new_pattern); @@ -3476,7 +3449,7 @@ jb_err cgi_edit_actions_add_url(struct client_state *csp, } if ((cur_line == NULL) - || (cur_line->type != FILE_LINE_ACTION)) + || (cur_line->type != FILE_LINE_ACTION)) { /* Invalid "sectionid" parameter */ free(new_pattern); @@ -3598,7 +3571,7 @@ jb_err cgi_edit_actions_remove_url(struct client_state *csp, line_number++; } - if ((cur_line == NULL) + if ( (cur_line == NULL) || (prev_line == NULL) || (cur_line->type != FILE_LINE_URL)) { @@ -3706,7 +3679,7 @@ jb_err cgi_edit_actions_section_remove(struct client_state *csp, } if ((cur_line == NULL) - || (cur_line->type != FILE_LINE_ACTION)) + || (cur_line->type != FILE_LINE_ACTION)) { /* Invalid "sectionid" parameter */ edit_free_file(file); @@ -3714,7 +3687,7 @@ jb_err cgi_edit_actions_section_remove(struct client_state *csp, } if ((cur_line->next != NULL) - && (cur_line->next->type == FILE_LINE_URL)) + && (cur_line->next->type == FILE_LINE_URL)) { /* Section not empty. */ edit_free_file(file); @@ -3851,7 +3824,7 @@ jb_err cgi_edit_actions_section_add(struct client_state *csp, } if ((cur_line == NULL) - || (cur_line->type != FILE_LINE_ACTION)) + || (cur_line->type != FILE_LINE_ACTION)) { /* Invalid "sectionid" parameter */ edit_free_file(file); @@ -3860,7 +3833,7 @@ jb_err cgi_edit_actions_section_add(struct client_state *csp, /* Skip through the section to find the last line in it. */ while ((cur_line->next != NULL) - && (cur_line->next->type != FILE_LINE_ACTION)) + && (cur_line->next->type != FILE_LINE_ACTION)) { cur_line = cur_line->next; line_number++; @@ -4019,7 +3992,7 @@ jb_err cgi_edit_actions_section_swap(struct client_state *csp, } if ((cur_line == NULL) - || (cur_line->type != FILE_LINE_ACTION)) + || (cur_line->type != FILE_LINE_ACTION)) { /* Invalid "section1" parameter */ edit_free_file(file); @@ -4051,7 +4024,7 @@ jb_err cgi_edit_actions_section_swap(struct client_state *csp, } if ((cur_line == NULL) - || (cur_line->type != FILE_LINE_ACTION)) + || (cur_line->type != FILE_LINE_ACTION)) { /* Invalid "section2" parameter */ edit_free_file(file);