Server IP : 15.235.198.142 / Your IP : 216.73.216.14 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/lib/modules/6.8.0-60-generic/build/scripts/coccinelle/misc/ |
Upload File : |
// SPDX-License-Identifier: GPL-2.0-only /// Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element /// //# This makes an effort to find cases where ARRAY_SIZE can be used such as //# where there is a division of sizeof the array by the sizeof its first //# element or by any indexed element or the element type. It replaces the //# division of the two sizeofs by ARRAY_SIZE. // // Confidence: High // Copyright: (C) 2014 Himangi Saraogi. // Comments: // Options: --no-includes --include-headers virtual patch virtual context virtual org virtual report @i@ @@ #include <linux/kernel.h> //---------------------------------------------------------- // For context mode //---------------------------------------------------------- @depends on i&&context@ type T; T[] E; @@ ( * (sizeof(E)/sizeof(*E)) | * (sizeof(E)/sizeof(E[...])) | * (sizeof(E)/sizeof(T)) ) //---------------------------------------------------------- // For patch mode //---------------------------------------------------------- @depends on i&&patch@ type T; T[] E; @@ ( - (sizeof(E)/sizeof(*E)) + ARRAY_SIZE(E) | - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) | - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) ) //---------------------------------------------------------- // For org and report mode //---------------------------------------------------------- @r depends on (org || report)@ type T; T[] E; position p; @@ ( (sizeof(E)@p /sizeof(*E)) | (sizeof(E)@p /sizeof(E[...])) | (sizeof(E)@p /sizeof(T)) ) @script:python depends on org@ p << r.p; @@ coccilib.org.print_todo(p[0], "WARNING should use ARRAY_SIZE") @script:python depends on report@ p << r.p; @@ msg="WARNING: Use ARRAY_SIZE" coccilib.report.print_report(p[0], msg)