* .x-sc_avoid_if_before_free: Remove. * .x-sc_cast_of_alloca_return_value: Remove. * .x-sc_cast_of_x_alloc_return_value: Remove. * .x-sc_cast_of_argument_to_free: Temporarily add src/search.c. * cfg.mk (local-checks-to-skip): Remove sc_cast_of_argument_to_free. * src/dfa.c (ifree): Remove. (dfamust, build_state, transit_state, dfafree): Do not do if-before-free, do not cast free argument to ptr_t or char *. (freelist): Call free instead of ifree. --- The src/search.c exception will go away later in the series.
.x-sc_avoid_if_before_free | 2 - .x-sc_cast_of_alloca_return_value | 1 - .x-sc_cast_of_argument_to_free | 1 + .x-sc_cast_of_x_alloc_return_value | 1 - cfg.mk | 1 - src/dfa.c | 93 ++++++++++++++---------------------- 6 files changed, 37 insertions(+), 62 deletions(-) delete mode 100644 .x-sc_avoid_if_before_free delete mode 100644 .x-sc_cast_of_alloca_return_value create mode 100644 .x-sc_cast_of_argument_to_free delete mode 100644 .x-sc_cast_of_x_alloc_return_value diff --git a/.x-sc_avoid_if_before_free b/.x-sc_avoid_if_before_free deleted file mode 100644 index b9b3074..0000000 --- a/.x-sc_avoid_if_before_free +++ /dev/null @@ -1,2 +0,0 @@ -^lib/regex\.c$ -^src/dfa\.c$ diff --git a/.x-sc_cast_of_alloca_return_value b/.x-sc_cast_of_alloca_return_value deleted file mode 100644 index 748e1b0..0000000 --- a/.x-sc_cast_of_alloca_return_value +++ /dev/null @@ -1 +0,0 @@ -lib/regex.c diff --git a/.x-sc_cast_of_argument_to_free b/.x-sc_cast_of_argument_to_free new file mode 100644 index 0000000..3f02e3d --- /dev/null +++ b/.x-sc_cast_of_argument_to_free @@ -0,0 +1 @@ +^src/search\.c$ diff --git a/.x-sc_cast_of_x_alloc_return_value b/.x-sc_cast_of_x_alloc_return_value deleted file mode 100644 index 748e1b0..0000000 --- a/.x-sc_cast_of_x_alloc_return_value +++ /dev/null @@ -1 +0,0 @@ -lib/regex.c diff --git a/cfg.mk b/cfg.mk index a6d9f80..5eab7c9 100644 --- a/cfg.mk +++ b/cfg.mk @@ -22,7 +22,6 @@ gpg_key_ID = B9AB9A16 # Tests not to run as part of "make distcheck". local-checks-to-skip = \ - sc_cast_of_argument_to_free \ sc_error_message_uppercase \ sc_m4_quote_check \ sc_makefile_TAB_only_indentation \ diff --git a/src/dfa.c b/src/dfa.c index b43dad7..09a3ba4 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -2205,16 +2205,11 @@ build_state (int s, struct dfa *d) if (d->trcount >= 1024) { for (i = 0; i < d->tralloc; ++i) - if (d->trans[i]) - { - free((ptr_t) d->trans[i]); - d->trans[i] = NULL; - } - else if (d->fails[i]) - { - free((ptr_t) d->fails[i]); - d->fails[i] = NULL; - } + { + free(d->trans[i]); + free(d->fails[i]); + d->trans[i] = d->fails[i] = NULL; + } d->trcount = 0; } @@ -2666,8 +2661,7 @@ transit_state (struct dfa *d, int s, unsigned char const **pp) if (rs == TRANSIT_STATE_DONE) ++*pp; - if (match_lens != NULL) - free(match_lens); + free(match_lens); return s1; } @@ -2978,66 +2972,58 @@ dfafree (struct dfa *d) int i; struct dfamust *dm, *ndm; - free((ptr_t) d->charclasses); - free((ptr_t) d->tokens); + free(d->charclasses); + free(d->tokens); #ifdef MBS_SUPPORT if (MB_CUR_MAX > 1) { - free((ptr_t) d->multibyte_prop); + free(d->multibyte_prop); for (i = 0; i < d->nmbcsets; ++i) { int j; struct mb_char_classes *p = &(d->mbcsets[i]); - if (p->chars != NULL) - free(p->chars); - if (p->ch_classes != NULL) - free(p->ch_classes); - if (p->range_sts != NULL) - free(p->range_sts); - if (p->range_ends != NULL) - free(p->range_ends); + free(p->chars); + free(p->ch_classes); + free(p->range_sts); + free(p->range_ends); for (j = 0; j < p->nequivs; ++j) free(p->equivs[j]); - if (p->equivs != NULL) - free(p->equivs); + free(p->equivs); for (j = 0; j < p->ncoll_elems; ++j) free(p->coll_elems[j]); - if (p->coll_elems != NULL) - free(p->coll_elems); + free(p->coll_elems); } - free((ptr_t) d->mbcsets); + free(d->mbcsets); } #endif /* MBS_SUPPORT */ for (i = 0; i < d->sindex; ++i) { - free((ptr_t) d->states[i].elems.elems); + free(d->states[i].elems.elems); #ifdef MBS_SUPPORT - if (d->states[i].mbps.nelem > 0) - free((ptr_t) d->states[i].mbps.elems); + free(d->states[i].mbps.elems); #endif /* MBS_SUPPORT */ } - free((ptr_t) d->states); + free(d->states); for (i = 0; i < d->tindex; ++i) - if (d->follows[i].elems) - free((ptr_t) d->follows[i].elems); - free((ptr_t) d->follows); + free(d->follows[i].elems); + free(d->follows); for (i = 0; i < d->tralloc; ++i) - if (d->trans[i]) - free((ptr_t) d->trans[i]); - else if (d->fails[i]) - free((ptr_t) d->fails[i]); - if (d->realtrans) free((ptr_t) d->realtrans); - if (d->fails) free((ptr_t) d->fails); - if (d->newlines) free((ptr_t) d->newlines); - if (d->success) free((ptr_t) d->success); + { + free(d->trans[i]); + free(d->fails[i]); + } + free(d->realtrans); + free(d->fails); + free(d->newlines); + free(d->success); for (dm = d->musts; dm; dm = ndm) { ndm = dm->next; free(dm->must); - free((ptr_t) dm); + free(dm); } } @@ -3166,13 +3152,6 @@ istrstr (char *lookin, char *lookfor) } static void -ifree (char *cp) -{ - if (cp != NULL) - free(cp); -} - -static void freelist (char **cpp) { int i; @@ -3434,7 +3413,7 @@ dfamust (struct dfa *d) if (new == NULL) goto done; freelist(lmp->in); - free((char *) lmp->in); + free(lmp->in); lmp->in = new; } break; @@ -3569,11 +3548,11 @@ dfamust (struct dfa *d) for (i = 0; i <= d->tindex; ++i) { freelist(mp[i].in); - ifree((char *) mp[i].in); - ifree(mp[i].left); - ifree(mp[i].right); - ifree(mp[i].is); + free(mp[i].in); + free(mp[i].left); + free(mp[i].right); + free(mp[i].is); } - free((char *) mp); + free(mp); } /* vim:set shiftwidth=2: */ -- 1.6.6