* [dpdk-dev] [PATCH] no need to test for NULL when freeing
@ 2016-01-21 11:23 David Marchand
2016-01-21 11:30 ` Thomas Monjalon
2016-01-27 14:36 ` Thomas Monjalon
0 siblings, 2 replies; 4+ messages in thread
From: David Marchand @ 2016-01-21 11:23 UTC (permalink / raw)
To: dev
free() already handles NULL pointer.
Signed-off-by: David Marchand <david.marchand@6wind.com>
---
app/test/test_devargs.c | 3 +-
app/test/test_link_bonding.c | 6 ++--
app/test/test_pci.c | 3 +-
app/test/test_ring.c | 36 ++++++++--------------
drivers/net/xenvirt/rte_eth_xenvirt.c | 6 ++--
drivers/net/xenvirt/rte_mempool_gntalloc.c | 9 ++----
examples/ip_pipeline/cpu_core_map.c | 3 +-
.../pipeline/pipeline_flow_classification_be.c | 6 ++--
examples/vhost_xen/vhost_monitor.c | 3 +-
examples/vhost_xen/xenstore_parse.c | 33 +++++++-------------
lib/librte_eal/common/eal_common_devargs.c | 3 +-
lib/librte_eal/linuxapp/eal/eal_memory.c | 3 +-
lib/librte_ether/rte_ethdev.c | 6 ++--
lib/librte_kvargs/rte_kvargs.c | 4 +--
14 files changed, 41 insertions(+), 83 deletions(-)
diff --git a/app/test/test_devargs.c b/app/test/test_devargs.c
index 049f32d..e5a9aa0 100644
--- a/app/test/test_devargs.c
+++ b/app/test/test_devargs.c
@@ -48,8 +48,7 @@ static void free_devargs_list(void)
while (!TAILQ_EMPTY(&devargs_list)) {
devargs = TAILQ_FIRST(&devargs_list);
TAILQ_REMOVE(&devargs_list, devargs, next);
- if (devargs->args)
- free(devargs->args);
+ free(devargs->args);
free(devargs);
}
}
diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 2d98958..7cbc289 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -4023,10 +4023,8 @@ test_close_bonded_device(void)
static void
testsuite_teardown(void)
{
- if (test_params->pkt_eth_hdr != NULL) {
- free(test_params->pkt_eth_hdr);
- test_params->pkt_eth_hdr = NULL;
- }
+ free(test_params->pkt_eth_hdr);
+ test_params->pkt_eth_hdr = NULL;
/* Clean up and remove slaves from bonded device */
remove_slaves_and_stop_bonded_device();
diff --git a/app/test/test_pci.c b/app/test/test_pci.c
index 5530d99..0ed357e 100644
--- a/app/test/test_pci.c
+++ b/app/test/test_pci.c
@@ -139,8 +139,7 @@ static void free_devargs_list(void)
while (!TAILQ_EMPTY(&devargs_list)) {
devargs = TAILQ_FIRST(&devargs_list);
TAILQ_REMOVE(&devargs_list, devargs, next);
- if (devargs->args)
- free(devargs->args);
+ free(devargs->args);
free(devargs);
}
}
diff --git a/app/test/test_ring.c b/app/test/test_ring.c
index e5614de..943c350 100644
--- a/app/test/test_ring.c
+++ b/app/test/test_ring.c
@@ -471,17 +471,13 @@ test_ring_basic(void)
if (ret != 0)
goto fail;
- if (src)
- free(src);
- if (dst)
- free(dst);
+ free(src);
+ free(dst);
return 0;
fail:
- if (src)
- free(src);
- if (dst)
- free(dst);
+ free(src);
+ free(dst);
return -1;
}
@@ -759,17 +755,13 @@ test_ring_burst_basic(void)
goto fail;
/* Free memory before test completed */
- if (src)
- free(src);
- if (dst)
- free(dst);
+ free(src);
+ free(dst);
return 0;
fail:
- if (src)
- free(src);
- if (dst)
- free(dst);
+ free(src);
+ free(dst);
return -1;
}
@@ -1168,17 +1160,13 @@ test_ring_stats(void)
memset(&r->stats[lcore_id], 0, sizeof(r->stats[lcore_id]));
/* Free memory before test completed */
- if (src)
- free(src);
- if (dst)
- free(dst);
+ free(src);
+ free(dst);
return 0;
fail:
- if (src)
- free(src);
- if (dst)
- free(dst);
+ free(src);
+ free(dst);
return -1;
#endif
}
diff --git a/drivers/net/xenvirt/rte_eth_xenvirt.c b/drivers/net/xenvirt/rte_eth_xenvirt.c
index 3353bcb..3f31806 100644
--- a/drivers/net/xenvirt/rte_eth_xenvirt.c
+++ b/drivers/net/xenvirt/rte_eth_xenvirt.c
@@ -431,10 +431,8 @@ gntalloc_vring_create(int queue_type, uint32_t size, int vtidx)
va = NULL;
}
out:
- if (pa_arr)
- free(pa_arr);
- if (gref_arr)
- free(gref_arr);
+ free(pa_arr);
+ free(gref_arr);
return va;
}
diff --git a/drivers/net/xenvirt/rte_mempool_gntalloc.c b/drivers/net/xenvirt/rte_mempool_gntalloc.c
index 0585f08..7bfbfda 100644
--- a/drivers/net/xenvirt/rte_mempool_gntalloc.c
+++ b/drivers/net/xenvirt/rte_mempool_gntalloc.c
@@ -229,15 +229,12 @@ mmap_failed:
munmap(gnt_arr[i].va, pg_sz);
}
out:
- if (gnt_arr)
- free(gnt_arr);
+ free(gnt_arr);
if (orig_va)
munmap(orig_va, sz);
if (mp == NULL) {
- if (gref_arr)
- free(gref_arr);
- if (pa_arr)
- free(pa_arr);
+ free(gref_arr);
+ free(pa_arr);
/* some gref has already been de-allocated from the list in the driver,
* so dealloc one by one, and it is safe to deallocate twice
diff --git a/examples/ip_pipeline/cpu_core_map.c b/examples/ip_pipeline/cpu_core_map.c
index 331b946..2a91f31 100644
--- a/examples/ip_pipeline/cpu_core_map.c
+++ b/examples/ip_pipeline/cpu_core_map.c
@@ -488,6 +488,5 @@ cpu_core_map_get_lcore_id(struct cpu_core_map *map,
void
cpu_core_map_free(struct cpu_core_map *map)
{
- if (map)
- free(map);
+ free(map);
}
diff --git a/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c b/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c
index e808e79..ac80fc6 100644
--- a/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c
+++ b/examples/ip_pipeline/pipeline/pipeline_flow_classification_be.c
@@ -333,10 +333,8 @@ pipeline_fc_parse_args(struct pipeline_flow_classification *p,
return 0;
error_parse:
- if (key_mask_str != NULL)
- free(key_mask_str);
- if (p->key_mask != NULL)
- free(p->key_mask);
+ free(key_mask_str);
+ free(p->key_mask);
return -1;
}
diff --git a/examples/vhost_xen/vhost_monitor.c b/examples/vhost_xen/vhost_monitor.c
index a891c56..7cc5c2f 100644
--- a/examples/vhost_xen/vhost_monitor.c
+++ b/examples/vhost_xen/vhost_monitor.c
@@ -296,8 +296,7 @@ virtio_net_config_ll *new_device(unsigned int virtio_idx, struct xen_guest *gues
add_config_ll_entry(new_ll_dev);
return new_ll_dev;
err:
- if (new_ll_dev)
- free(new_ll_dev);
+ free(new_ll_dev);
rte_free(virtqueue_rx);
rte_free(virtqueue_tx);
diff --git a/examples/vhost_xen/xenstore_parse.c b/examples/vhost_xen/xenstore_parse.c
index eb629e2..26d2432 100644
--- a/examples/vhost_xen/xenstore_parse.c
+++ b/examples/vhost_xen/xenstore_parse.c
@@ -203,8 +203,7 @@ xen_free_gntnode(struct xen_gntnode *gntnode)
{
if (gntnode == NULL)
return;
- if (gntnode->gnt_info)
- free(gntnode->gnt_info);
+ free(gntnode->gnt_info);
free(gntnode);
}
@@ -286,14 +285,10 @@ parse_gntnode(int dom_id, char *path)
return gntnode;
err:
- if (gnt)
- free(gnt);
- if (gntnode)
- free(gntnode);
- if (gref_list)
- free(gref_list);
- if (buf)
- free(buf);
+ free(gnt);
+ free(gntnode);
+ free(gref_list);
+ free(buf);
return NULL;
}
@@ -412,8 +407,7 @@ parse_mpool_va(struct xen_mempool *mempool)
}
ret = 0;
out:
- if (buf)
- free(buf);
+ free(buf);
return ret;
}
@@ -460,8 +454,7 @@ cleanup_mempool(struct xen_mempool *mempool)
}
mempool->pindex = NULL;
- if (mempool->mempfn_tbl)
- free(mempool->mempfn_tbl);
+ free(mempool->mempfn_tbl);
mempool->mempfn_tbl = NULL;
}
@@ -559,8 +552,7 @@ xen_map_vringflag(struct xen_vring *vring)
free(buf);
return 0;
err:
- if (buf)
- free(buf);
+ free(buf);
if (vring->flag) {
munmap(vring->flag, pg_sz);
vring->flag = NULL;
@@ -622,8 +614,7 @@ cleanup_vring(struct xen_vring *vring)
}
vring->rx_pindex = NULL;
- if (vring->rxpfn_tbl)
- free(vring->rxpfn_tbl);
+ free(vring->rxpfn_tbl);
vring->rxpfn_tbl = NULL;
if (vring->txvring_addr) {
@@ -644,8 +635,7 @@ cleanup_vring(struct xen_vring *vring)
}
vring->tx_pindex = NULL;
- if (vring->txpfn_tbl)
- free(vring->txpfn_tbl);
+ free(vring->txpfn_tbl);
vring->txpfn_tbl = NULL;
if (vring->flag) {
@@ -680,8 +670,7 @@ xen_parse_etheraddr(struct xen_vring *vring)
goto out;
ret = 0;
out:
- if (buf)
- free(buf);
+ free(buf);
return ret;
}
diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index 5d075d0..2bfe54a 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -120,8 +120,7 @@ rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str)
return 0;
fail:
- if (buf)
- free(buf);
+ free(buf);
if (devargs) {
free(devargs->args);
free(devargs);
diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index 846fd31..72568e5 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -1412,8 +1412,7 @@ rte_eal_hugepage_init(void)
return 0;
fail:
- if (tmp_hp)
- free(tmp_hp);
+ free(tmp_hp);
return -1;
}
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index ed971b4..af990e2 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -586,10 +586,8 @@ rte_eth_dev_attach_vdev(const char *vdevargs, uint8_t *port_id)
ret = 0;
end:
- if (name)
- free(name);
- if (args)
- free(args);
+ free(name);
+ free(args);
if (ret < 0)
RTE_LOG(ERR, EAL, "Driver, cannot attach the device\n");
diff --git a/lib/librte_kvargs/rte_kvargs.c b/lib/librte_kvargs/rte_kvargs.c
index c2dd051..8d56abd 100644
--- a/lib/librte_kvargs/rte_kvargs.c
+++ b/lib/librte_kvargs/rte_kvargs.c
@@ -177,9 +177,7 @@ rte_kvargs_free(struct rte_kvargs *kvlist)
if (!kvlist)
return;
- if (kvlist->str != NULL)
- free(kvlist->str);
-
+ free(kvlist->str);
free(kvlist);
}
--
1.9.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] no need to test for NULL when freeing
2016-01-21 11:23 [dpdk-dev] [PATCH] no need to test for NULL when freeing David Marchand
@ 2016-01-21 11:30 ` Thomas Monjalon
2016-01-21 11:33 ` David Marchand
2016-01-27 14:36 ` Thomas Monjalon
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Monjalon @ 2016-01-21 11:30 UTC (permalink / raw)
To: David Marchand; +Cc: dev
2016-01-21 12:23, David Marchand:
> free() already handles NULL pointer.
>
> Signed-off-by: David Marchand <david.marchand@6wind.com>
> ---
> app/test/test_devargs.c | 3 +-
> app/test/test_link_bonding.c | 6 ++--
> app/test/test_pci.c | 3 +-
> app/test/test_ring.c | 36 ++++++++--------------
> drivers/net/xenvirt/rte_eth_xenvirt.c | 6 ++--
> drivers/net/xenvirt/rte_mempool_gntalloc.c | 9 ++----
> examples/ip_pipeline/cpu_core_map.c | 3 +-
> .../pipeline/pipeline_flow_classification_be.c | 6 ++--
> examples/vhost_xen/vhost_monitor.c | 3 +-
> examples/vhost_xen/xenstore_parse.c | 33 +++++++-------------
> lib/librte_eal/common/eal_common_devargs.c | 3 +-
> lib/librte_eal/linuxapp/eal/eal_memory.c | 3 +-
> lib/librte_ether/rte_ethdev.c | 6 ++--
> lib/librte_kvargs/rte_kvargs.c | 4 +--
> 14 files changed, 41 insertions(+), 83 deletions(-)
Have you used a coccinelle script?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] no need to test for NULL when freeing
2016-01-21 11:30 ` Thomas Monjalon
@ 2016-01-21 11:33 ` David Marchand
0 siblings, 0 replies; 4+ messages in thread
From: David Marchand @ 2016-01-21 11:33 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev
On Thu, Jan 21, 2016 at 12:30 PM, Thomas Monjalon
<thomas.monjalon@6wind.com> wrote:
> 2016-01-21 12:23, David Marchand:
>> free() already handles NULL pointer.
>>
>> Signed-off-by: David Marchand <david.marchand@6wind.com>
>> ---
>> app/test/test_devargs.c | 3 +-
>> app/test/test_link_bonding.c | 6 ++--
>> app/test/test_pci.c | 3 +-
>> app/test/test_ring.c | 36 ++++++++--------------
>> drivers/net/xenvirt/rte_eth_xenvirt.c | 6 ++--
>> drivers/net/xenvirt/rte_mempool_gntalloc.c | 9 ++----
>> examples/ip_pipeline/cpu_core_map.c | 3 +-
>> .../pipeline/pipeline_flow_classification_be.c | 6 ++--
>> examples/vhost_xen/vhost_monitor.c | 3 +-
>> examples/vhost_xen/xenstore_parse.c | 33 +++++++-------------
>> lib/librte_eal/common/eal_common_devargs.c | 3 +-
>> lib/librte_eal/linuxapp/eal/eal_memory.c | 3 +-
>> lib/librte_ether/rte_ethdev.c | 6 ++--
>> lib/librte_kvargs/rte_kvargs.c | 4 +--
>> 14 files changed, 41 insertions(+), 83 deletions(-)
>
> Have you used a coccinelle script?
Nop, some shell script of mine with manual checks.
--
David Marchand
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] no need to test for NULL when freeing
2016-01-21 11:23 [dpdk-dev] [PATCH] no need to test for NULL when freeing David Marchand
2016-01-21 11:30 ` Thomas Monjalon
@ 2016-01-27 14:36 ` Thomas Monjalon
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2016-01-27 14:36 UTC (permalink / raw)
To: David Marchand; +Cc: dev
2016-01-21 12:23, David Marchand:
> free() already handles NULL pointer.
>
> Signed-off-by: David Marchand <david.marchand@6wind.com>
Applied, thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-01-27 14:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-21 11:23 [dpdk-dev] [PATCH] no need to test for NULL when freeing David Marchand
2016-01-21 11:30 ` Thomas Monjalon
2016-01-21 11:33 ` David Marchand
2016-01-27 14:36 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).