Module: wine Branch: master Commit: 0fb444b58c0fa1ac91b34ab7f742662a5f1f6b3d URL: http://source.winehq.org/git/wine.git/?a=commit;h=0fb444b58c0fa1ac91b34ab7f7...
Author: Michael Stefaniuc mstefani@redhat.de Date: Mon Oct 9 23:34:53 2006 +0200
tools: Remove redundant NULL checks before free() (found by Smatch).
---
tools/widl/parser.y | 2 +- tools/winedump/msmangle.c | 2 +- tools/winedump/search.c | 7 ++----- tools/winedump/symbol.c | 14 ++++---------- tools/wmc/write.c | 3 +-- tools/wrc/parser.y | 6 ++---- 6 files changed, 11 insertions(+), 23 deletions(-)
diff --git a/tools/widl/parser.y b/tools/widl/parser.y index 63e4c6d..5564936 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -1179,7 +1179,7 @@ static typeref_t *uniq_tref(typeref_t *r static type_t *type_ref(typeref_t *ref) { type_t *t = ref->ref; - if (ref->name) free(ref->name); + free(ref->name); free(ref); return t; } diff --git a/tools/winedump/msmangle.c b/tools/winedump/msmangle.c index 0857595..c330b8c 100644 --- a/tools/winedump/msmangle.c +++ b/tools/winedump/msmangle.c @@ -37,7 +37,7 @@ typedef struct _compound_type #define INIT_CT(ct) do { memset (&ct, 0, sizeof (ct)); } while (0)
/* free the memory used by a compound structure */ -#define FREE_CT(ct) do { if (ct.expression) free (ct.expression); } while (0) +#define FREE_CT(ct) free (ct.expression)
/* Flags for data types */ #define DATA_VTABLE 0x1 diff --git a/tools/winedump/search.c b/tools/winedump/search.c index d9b15f2..8ae82de 100644 --- a/tools/winedump/search.c +++ b/tools/winedump/search.c @@ -348,10 +348,7 @@ #ifdef __GNUC__ void search_cleanup (void) __attribute__ ((destructor)); void search_cleanup (void) { - if (grep_buff) - free (grep_buff); - - if (fgrep_buff) - free (fgrep_buff); + free (grep_buff); + free (fgrep_buff); } #endif diff --git a/tools/winedump/symbol.c b/tools/winedump/symbol.c index 7336ed7..c79442f 100644 --- a/tools/winedump/symbol.c +++ b/tools/winedump/symbol.c @@ -109,19 +109,13 @@ void symbol_clear(parsed_symbol *sym) assert (sym->symbol);
free (sym->symbol); - - if (sym->return_text) - free (sym->return_text); - - if (sym->function_name) - free (sym->function_name); + free (sym->return_text); + free (sym->function_name);
for (i = sym->argc - 1; i >= 0; i--) { - if (sym->arg_text [i]) - free (sym->arg_text [i]); - if (sym->arg_name [i]) - free (sym->arg_name [i]); + free (sym->arg_text [i]); + free (sym->arg_name [i]); } memset (sym, 0, sizeof (parsed_symbol)); } diff --git a/tools/wmc/write.c b/tools/wmc/write.c index b6da9af..5a8cd71 100644 --- a/tools/wmc/write.c +++ b/tools/wmc/write.c @@ -274,8 +274,7 @@ void write_h_file(const char *fname) internal_error(__FILE__, __LINE__, "Invalid base for number print"); } free(cptr); - if(cast) - free(cast); + free(cast); break; default: internal_error(__FILE__, __LINE__, "Invalid node type %d", ndp->type); diff --git a/tools/wrc/parser.y b/tools/wrc/parser.y index 3ee0be2..595042c 100644 --- a/tools/wrc/parser.y +++ b/tools/wrc/parser.y @@ -2906,10 +2906,8 @@ #endif
free(lanfnt); clean: - if(fnt) - free(fnt); - if(fnd) - free(fnd); + free(fnt); + free(fnd); free(str.str.cstr); return lst; }