From f63e6969670ff28e7559f803cafdb3c356568f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 16 Jul 2019 15:50:45 +0200 Subject: [PATCH] Add semantic patch to remove checking for isc_mem_get() return value The isc_mem_get() cannot fail gracefully now, it either gets memory of assert()s. The added semantic patch cleans all the blocks checking whether the return value of isc_mem_get() was NULL. --- cocci/isc_mem_get_never_fail.spatch | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 cocci/isc_mem_get_never_fail.spatch diff --git a/cocci/isc_mem_get_never_fail.spatch b/cocci/isc_mem_get_never_fail.spatch new file mode 100644 index 0000000000..e79a0404a1 --- /dev/null +++ b/cocci/isc_mem_get_never_fail.spatch @@ -0,0 +1,41 @@ +@@ +statement S; +expression V; +@@ + +V = isc_mem_get(...); +- if (V == NULL) S + +@@ +type T; +statement S; +expression V; +@@ + +V = (T *)isc_mem_get(...); +- if (V == NULL) S + +@@ +statement S; +expression V; +@@ + +if (V == NULL) V = isc_mem_get(...); +- if (V == NULL) S + +@@ +statement S1, S2; +expression V; +@@ + +V = isc_mem_get(...); +- if (V == NULL) S1 else { S2 } ++ S2 + +@@ +type T; +expression V, E1, E2; +@@ + +- V = (T)isc_mem_get(E1, E2); ++ V = isc_mem_get(E1, E2);