2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 10:10:06 +00:00

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.
This commit is contained in:
Ondřej Surý 2019-07-16 15:50:45 +02:00
parent 7f828a213c
commit f63e696967

View File

@ -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);