Michael Stefaniuc : tools: Remove redundant NULL checks before free() ( found by Smatch).

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 10 06:50:40 CDT 2006


Module: wine
Branch: master
Commit: 0fb444b58c0fa1ac91b34ab7f742662a5f1f6b3d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0fb444b58c0fa1ac91b34ab7f742662a5f1f6b3d

Author: Michael Stefaniuc <mstefani at 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;
 }




More information about the wine-cvs mailing list