[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 05/17] dfa, grep: cleanup if-before-free and cast-of-argument-to-
From: |
Paolo Bonzini |
Subject: |
[PATCH 05/17] dfa, grep: cleanup if-before-free and cast-of-argument-to-free |
Date: |
Fri, 12 Mar 2010 18:49:06 +0100 |
* .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
- [PATCH 00/16] my last hefty patch drop, Paolo Bonzini, 2010/03/12
- [PATCH 01/17] kwset/system: remove ptr_t, Paolo Bonzini, 2010/03/12
- [PATCH 02/17] grep: cleanup one const cast, Paolo Bonzini, 2010/03/12
- [PATCH 03/17] dfa: get rid of x*alloc, Paolo Bonzini, 2010/03/12
- [PATCH 04/17] dfa: remove CRANGE dead code, Paolo Bonzini, 2010/03/12
- [PATCH 05/17] dfa, grep: cleanup if-before-free and cast-of-argument-to-free,
Paolo Bonzini <=
- [PATCH 07/17] syntax-check: enable makefile-TAB-only-indentation, Paolo Bonzini, 2010/03/12
- [PATCH 06/17] grep: fix error-message-uppercase, Paolo Bonzini, 2010/03/12
- [PATCH 09/17] syntax-check: enable space-tab, Paolo Bonzini, 2010/03/12
- [PATCH 08/17] syntax-check: enable m4-quote-check, Paolo Bonzini, 2010/03/12
- [PATCH 10/17] tests: add more UTF-8 test cases, Paolo Bonzini, 2010/03/12