diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 144febe..b4cd736 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -1048,8 +1048,7 @@
 
 		extract = asn1p_expr_clone(extract, 0);
 		if(extract) {
-			if(extract->Identifier)
-				free(extract->Identifier);
+			free(extract->Identifier);
 			extract->Identifier = strdup(arg->expr->Identifier);
 			if(extract->Identifier == NULL) {
 				asn1p_expr_free(extract);
@@ -1707,7 +1706,7 @@
 	all_tags_count = asn1f_fetch_tags(arg->asn, expr->module, expr,
 		&all_tags, AFT_FULL_COLLECT);
 	if(all_tags_count < 0) {
-		if(tags) free(tags);
+		free(tags);
 		DEBUG("fail to fetch tags chain for %s", expr->Identifier);
 		return -1;
 	}
@@ -1756,8 +1755,8 @@
 			EMIT_TAGS_TABLE("_all", all_tags, all_tags_count);
 	}
 
-	if(tags) free(tags);
-	if(all_tags) free(all_tags);
+	free(tags);
+	free(all_tags);
 
 	*tags_count_r = tags_count;
 	*all_tags_count_r = all_tags_count;
diff --git a/libasn1compiler/asn1c_misc.c b/libasn1compiler/asn1c_misc.c
index 6888e73..0762850 100644
--- a/libasn1compiler/asn1c_misc.c
+++ b/libasn1compiler/asn1c_misc.c
@@ -78,7 +78,7 @@
 	 * Make sure we have this amount of storage.
 	 */
 	if(storage_size <= size) {
-		if(storage) free(storage);
+		free(storage);
 		storage = malloc(size + 1);
 		if(storage) {
 			storage_size = size;
diff --git a/libasn1parser/asn1p_expr.c b/libasn1parser/asn1p_expr.c
index 71c1636..b7a03ec 100644
--- a/libasn1parser/asn1p_expr.c
+++ b/libasn1parser/asn1p_expr.c
@@ -245,8 +245,7 @@
 			asn1p_expr_free(tm);
 		}
 
-		if(expr->Identifier)
-			free(expr->Identifier);
+		free(expr->Identifier);
 		if(expr->reference)
 			asn1p_ref_free(expr->reference);
 		if(expr->constraints)
diff --git a/libasn1parser/asn1p_module.c b/libasn1parser/asn1p_module.c
index d030da7..29cf683 100644
--- a/libasn1parser/asn1p_module.c
+++ b/libasn1parser/asn1p_module.c
@@ -27,8 +27,7 @@
 	if(mod) {
 		asn1p_expr_t *expr;
 
-		if(mod->ModuleName)
-			free(mod->ModuleName);
+		free(mod->ModuleName);
 
 		if(mod->module_oid)
 			asn1p_oid_free(mod->module_oid);
diff --git a/libasn1parser/asn1p_oid.c b/libasn1parser/asn1p_oid.c
index 7d1c1a5..80d41e2 100644
--- a/libasn1parser/asn1p_oid.c
+++ b/libasn1parser/asn1p_oid.c
@@ -50,7 +50,6 @@
 	if(oid) {
 		if(oid->arcs) {
 			while(oid->arcs_count--) {
-				if(oid->arcs[oid->arcs_count].name)
 				free(oid->arcs[oid->arcs_count].name);
 			}
 		}
@@ -75,8 +74,7 @@
 void
 asn1p_oid_arc_free(asn1p_oid_arc_t *arc) {
 	if(arc) {
-		if(arc->name)
-			free(arc->name);
+		free(arc->name);
 		free(arc);
 	}
 }
diff --git a/libasn1parser/asn1p_param.c b/libasn1parser/asn1p_param.c
index a48faed..6fd7f21 100644
--- a/libasn1parser/asn1p_param.c
+++ b/libasn1parser/asn1p_param.c
@@ -29,8 +29,7 @@
 			while(i--) {
 				if(pl->params[i].governor)
 					asn1p_ref_free(pl->params[i].governor);
-				if(pl->params[i].argument)
-					free(pl->params[i].argument);
+				free(pl->params[i].argument);
 				pl->params[i].governor = 0;
 				pl->params[i].argument = 0;
 			}
diff --git a/libasn1parser/asn1p_ref.c b/libasn1parser/asn1p_ref.c
index af6f6bb..79e32aa 100644
--- a/libasn1parser/asn1p_ref.c
+++ b/libasn1parser/asn1p_ref.c
@@ -27,7 +27,6 @@
 		if(ref->components) {
 			int i = ref->comp_count;
 			while(i--) {
-				if(ref->components[i].name)
 				free(ref->components[i].name);
 				ref->components[i].name = 0;
 			}
diff --git a/libasn1parser/asn1p_xports.c b/libasn1parser/asn1p_xports.c
index abe1232..594a60e 100644
--- a/libasn1parser/asn1p_xports.c
+++ b/libasn1parser/asn1p_xports.c
@@ -25,8 +25,7 @@
 void
 asn1p_xports_free(asn1p_xports_t *xp) {
 	if(xp) {
-		if(xp->fromModuleName)
-			free(xp->fromModuleName);
+		free(xp->fromModuleName);
 		if(xp->identifier.oid)
 			asn1p_oid_free(xp->identifier.oid);
 		free(xp);
