mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
A semantic patch to refactor isc_mem_cget and friends
The aim is to match unsafe patterns of allocation size arithmetic and turn them into safe calls to the new `isc_mem_cget()`, `isc_mem_creget()`, and `isc_mem_cput()`.
This commit is contained in:
parent
6272482113
commit
a742fde51a
1 changed files with 161 additions and 0 deletions
161
cocci/isc_mem_cget.spatch
Normal file
161
cocci/isc_mem_cget.spatch
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
@@
|
||||
expression MCTX, COUNT;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_get(MCTX, COUNT * sizeof(ELEM))
|
||||
+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, COUNT, ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_get(MCTX, COUNT * sizeof(ELEM))
|
||||
+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, COUNT;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_put(MCTX, OLD_PTR, COUNT * sizeof(ELEM))
|
||||
+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, COUNT, ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_put(MCTX, OLD_PTR, COUNT * sizeof(ELEM))
|
||||
+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, COUNT;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_get(MCTX, sizeof(ELEM) * COUNT)
|
||||
+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, COUNT, ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_get(MCTX, sizeof(ELEM) * COUNT)
|
||||
+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, COUNT;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_put(MCTX, OLD_PTR, sizeof(ELEM) * COUNT)
|
||||
+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, COUNT, ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_put(MCTX, OLD_PTR, sizeof(ELEM) * COUNT)
|
||||
+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT;
|
||||
identifier OLD_SIZE, NEW_SIZE;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT, ELEM;
|
||||
identifier OLD_SIZE, NEW_SIZE;
|
||||
@@
|
||||
|
||||
- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT;
|
||||
identifier OLD_SIZE, NEW_SIZE;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT, ELEM;
|
||||
identifier OLD_SIZE, NEW_SIZE;
|
||||
@@
|
||||
|
||||
- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT, ELEM;
|
||||
@@
|
||||
|
||||
- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT, ELEM;
|
||||
@@
|
||||
|
||||
- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
|
||||
- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
|
||||
- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
|
||||
+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT;
|
||||
type ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_reget(MCTX, OLD_PTR, OLD_COUNT * sizeof(ELEM), NEW_COUNT * sizeof(ELEM))
|
||||
+ isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, ELEM;
|
||||
@@
|
||||
|
||||
- isc_mem_reget(MCTX, OLD_PTR, OLD_COUNT * sizeof(ELEM), NEW_COUNT * sizeof(ELEM))
|
||||
+ isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM))
|
||||
|
||||
@@
|
||||
expression MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE;
|
||||
@@
|
||||
|
||||
- isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE)
|
||||
+ isc_mem_creget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE, sizeof(char))
|
||||
Loading…
Reference in a new issue