Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | warning | coding style issues |
Commit Message
Stephen Hemminger
Jan. 24, 2022, 12:03 a.m. UTC
This script is based on the idea of the nullfree script
in the Linux kernel. It finds cases where a check for null
pointer is done, but is unneccessary because the function
already handles NULL pointer.
Basic example:
if (x->buf)
rte_free(x->buf);
can be reduced to:
rte_free(x->buf);
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
devtools/cocci/nullfree.cocci | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 devtools/cocci/nullfree.cocci
diff --git a/devtools/cocci/nullfree.cocci b/devtools/cocci/nullfree.cocci new file mode 100644 index 000000000000..363b6149ac28 --- /dev/null +++ b/devtools/cocci/nullfree.cocci @@ -0,0 +1,33 @@ +// +// Remove unnecessary NULL pointer checks before free functions +// All these functions work like libc free which allows +// free(NULL) as a no-op. +// +@@ +expression E; +@@ +( +- if (E != NULL) free(E); ++ free(E); +| +- if (E != NULL) rte_bitmap_free(E); ++ rte_bitmap_free(E); +| +- if (E != NULL) rte_free(E); ++ rte_free(E); +| +- if (E != NULL) rte_hash_free(E); ++ rte_hash_free(E); +| +- if (E != NULL) rte_ring_free(E); ++ rte_ring_free(E); +| +- if (E != NULL) rte_pktmbuf_free(E); ++ rte_pktmbuf_free(E); +| +- if (E != NULL) rte_mempool_free(E); ++ rte_mempool_free(E); +| +- if (E != NULL) rte_kvargs_free(E); ++ rte_kvargs_free(E); +)