Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /usr/src/linux-headers-4.4.0-47/scripts/coccinelle/api/ |
Upload File : |
/// Make sure calls to d_find_alias() have a corresponding call to dput(). // // Keywords: d_find_alias, dput // // Confidence: Moderate // URL: http://coccinelle.lip6.fr/ // Options: --include-headers virtual context virtual org virtual patch virtual report @r exists@ local idexpression struct dentry *dent; expression E, E1; statement S1, S2; position p1, p2; @@ ( if (!(dent@p1 = d_find_alias(...))) S1 | dent@p1 = d_find_alias(...) ) <...when != dput(dent) when != if (...) { <+... dput(dent) ...+> } when != true !dent || ... when != dent = E when != E = dent if (!dent || ...) S2 ...> ( return <+...dent...+>; | return @p2 ...; | dent@p2 = E1; | E1 = dent; ) @depends on context@ local idexpression struct dentry *r.dent; position r.p1,r.p2; @@ * dent@p1 = ... ... ( * return@p2 ...; | * dent@p2 ) @script:python depends on org@ p1 << r.p1; p2 << r.p2; @@ cocci.print_main("Missing call to dput()",p1) cocci.print_secs("",p2) @depends on patch@ local idexpression struct dentry *r.dent; position r.p2; @@ ( + dput(dent); return @p2 ...; | + dput(dent); dent@p2 = ...; ) @script:python depends on report@ p1 << r.p1; p2 << r.p2; @@ msg = "Missing call to dput() at line %s." coccilib.report.print_report(p1[0], msg % (p2[0].line))