1 // SPDX-License-Identifier: GPL-2.0-only 2 /// PTR_ERR should be applied before its argument is reassigned, typically 3 /// to NULL 4 /// 5 // Confidence: High 6 // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. 7 // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. 8 // URL: https://coccinelle.gitlabpages.inria.fr/website 9 // Comments: 10 // Options: --no-includes --include-headers 11 12 virtual org 13 virtual report 14 virtual context 15 16 @r exists@ 17 expression e,e1; 18 constant c; 19 position p1,p2; 20 @@ 21 22 *e@p1 = c 23 ... when != e = e1 24 when != &e 25 when != true IS_ERR(e) 26 *PTR_ERR@p2(e) 27 28 @script:python depends on org@ 29 p1 << r.p1; 30 p2 << r.p2; 31 @@ 32 33 cocci.print_main("PTR_ERR",p2) 34 cocci.print_secs("assignment",p1) 35 36 @script:python depends on report@ 37 p1 << r.p1; 38 p2 << r.p2; 39 @@ 40 41 msg = "ERROR: PTR_ERR applied after initialization to constant on line %s" % (p1[0].line) 42 coccilib.report.print_report(p2[0],msg)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.