@@ -345,10 +345,8 @@ static void print_nh_res_bucket(FILE *fp, const struct rtattr *res_bucket_attr)
static void ipnh_destroy_entry(struct nh_entry *nhe)
{
- if (nhe->nh_encap)
- free(nhe->nh_encap);
- if (nhe->nh_groups)
- free(nhe->nh_groups);
+ free(nhe->nh_encap);
+ free(nhe->nh_groups);
}
/* parse nhmsg into nexthop entry struct which must be destroyed by
@@ -586,8 +584,7 @@ static struct nh_entry *ipnh_cache_add(__u32 nh_id)
ipnh_cache_link_entry(nhe);
out:
- if (answer)
- free(answer);
+ free(answer);
return nhe;
@@ -1707,8 +1707,7 @@ int do_batch(const char *name, bool force,
}
}
- if (line)
- free(line);
+ free(line);
return ret;
}
@@ -412,8 +412,7 @@ static int parse_ipt(struct action_util *a, int *argc_p,
m->tflags = 0;
m->used = 0;
/* Free allocated memory */
- if (m->t)
- free(m->t);
+ free(m->t);
return 0;
@@ -299,8 +299,7 @@ static int parse_ipt(struct action_util *a, int *argc_p,
m->tflags = 0;
m->used = 0;
/* Free allocated memory */
- if (m->t)
- free(m->t);
+ free(m->t);
}
return 0;
@@ -337,8 +337,7 @@ static int parse_ipt(struct action_util *a, int *argc_p,
m->tflags = 0;
m->used = 0;
/* Free allocated memory */
- if (m->t)
- free(m->t);
+ free(m->t);
return 0;
@@ -187,8 +187,7 @@ static int tc_qdisc_modify(int cmd, unsigned int flags, int argc, char **argv)
addattr_l(&req.n, sizeof(req), TCA_STAB_DATA, stab.data,
stab.szopts.tsize * sizeof(__u16));
addattr_nest_end(&req.n, tail);
- if (stab.data)
- free(stab.data);
+ free(stab.data);
}
if (d[0]) {
The function free() handles the case wher argument is NULL by doing nothing. So the extra checks are not needed. Found by modified version of kernel coccinelle script. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- ip/ipnexthop.c | 9 +++------ lib/utils.c | 3 +-- tc/m_ipt.c | 3 +-- tc/m_xt.c | 3 +-- tc/m_xt_old.c | 3 +-- tc/tc_qdisc.c | 3 +-- 6 files changed, 8 insertions(+), 16 deletions(-)