DEV: coccinelle: add a test to detect unchecked calloc()

The coccinelle test "unchecked-calloc.cocci" detects various cases of
unchecked calloc().
This commit is contained in:
Ilya Shipitsin 2024-08-24 15:55:44 +02:00 committed by Willy Tarreau
parent 2ec42bff48
commit 8f2112a04f
1 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,34 @@
// find calls to calloc
@call@
expression ptr;
position p;
@@
ptr@p = calloc(...);
// find ok calls to calloc
@ok@
expression ptr;
position call.p;
@@
ptr@p = calloc(...);
... when != ptr
(
(ptr == NULL || ...)
|
(ptr == 0 || ...)
|
(ptr != NULL || ...)
|
(ptr != 0 || ...)
)
// fix bad calls to calloc
@depends on !ok@
expression ptr;
position call.p;
@@
ptr@p = calloc(...);
+ if (ptr == NULL) return;