Bug #86: Deletion of unnecessary checks before a few calls of asn1c functions
The following functions return immediately if a null pointer was passed.
* asn1p_constraint_free
* asn1p_paramlist_free
* asn1p_ref_free
* asn1p_value_free
* asn1p_wsyntx_free
It is therefore not needed that a function caller repeats a corresponding check.
This issue was fixed by using the software "Coccinelle 1.0.4".
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
diff --git a/libasn1parser/asn1p_constr.c b/libasn1parser/asn1p_constr.c
index 0b1e892..008ad40 100644
--- a/libasn1parser/asn1p_constr.c
+++ b/libasn1parser/asn1p_constr.c
@@ -23,14 +23,10 @@
asn1p_constraint_free(asn1p_constraint_t *ct) {
if(ct) {
- if(ct->containedSubtype)
- asn1p_value_free(ct->containedSubtype);
- if(ct->value)
- asn1p_value_free(ct->value);
- if(ct->range_start)
- asn1p_value_free(ct->range_start);
- if(ct->range_stop)
- asn1p_value_free(ct->range_stop);
+ asn1p_value_free(ct->containedSubtype);
+ asn1p_value_free(ct->value);
+ asn1p_value_free(ct->range_start);
+ asn1p_value_free(ct->range_stop);
if(ct->elements) {
while(ct->el_count--) {
diff --git a/libasn1parser/asn1p_expr.c b/libasn1parser/asn1p_expr.c
index b7a03ec..46e54a3 100644
--- a/libasn1parser/asn1p_expr.c
+++ b/libasn1parser/asn1p_expr.c
@@ -246,20 +246,13 @@
}
free(expr->Identifier);
- if(expr->reference)
- asn1p_ref_free(expr->reference);
- if(expr->constraints)
- asn1p_constraint_free(expr->constraints);
- if(expr->combined_constraints)
- asn1p_constraint_free(expr->combined_constraints);
- if(expr->lhs_params)
- asn1p_paramlist_free(expr->lhs_params);
- if(expr->value)
- asn1p_value_free(expr->value);
- if(expr->marker.default_value)
- asn1p_value_free(expr->marker.default_value);
- if(expr->with_syntax)
- asn1p_wsyntx_free(expr->with_syntax);
+ asn1p_ref_free(expr->reference);
+ asn1p_constraint_free(expr->constraints);
+ asn1p_constraint_free(expr->combined_constraints);
+ asn1p_paramlist_free(expr->lhs_params);
+ asn1p_value_free(expr->value);
+ asn1p_value_free(expr->marker.default_value);
+ asn1p_wsyntx_free(expr->with_syntax);
if(expr->data && expr->data_free)
expr->data_free(expr->data);
diff --git a/libasn1parser/asn1p_param.c b/libasn1parser/asn1p_param.c
index 6fd7f21..df6054e 100644
--- a/libasn1parser/asn1p_param.c
+++ b/libasn1parser/asn1p_param.c
@@ -27,8 +27,7 @@
if(pl->params) {
int i = pl->params_count;
while(i--) {
- if(pl->params[i].governor)
- asn1p_ref_free(pl->params[i].governor);
+ asn1p_ref_free(pl->params[i].governor);
free(pl->params[i].argument);
pl->params[i].governor = 0;
pl->params[i].argument = 0;
@@ -82,8 +81,7 @@
pl->params_count++;
return 0;
} else {
- if(pl->params[pl->params_count].governor)
- asn1p_ref_free(pl->params[pl->params_count].governor);
+ asn1p_ref_free(pl->params[pl->params_count].governor);
return -1;
}
}