h(  ) ($6;EbBLkfu�_l� ''8;DUFKV3Dd#,?ANk&5G$/(5M\^�ms����Sb�,;R''6c2I�!\����kx�Ve�[i��Me�IYO7:nOL~�Kr�qrv�I:�BM�y��s}r��K����x)1�6@r*2�89ma��&��'ti������{~#������t)1�2<�0:^5�W.uFzQ/u}�v��vv�u��U37yDJeEJo(/�5Ds'1�:Jlu�iy�iy�hw�1;:S`^BMLOQQn,4�7C�8C�>Lfe�]k�[i�Zg��IW�LZ�EP;,.��Tc�q(0) G,/]/1����w�r��l&-t*3�<<�u��#����j&.u��J68\8?"#$%&'()*+,-./0 ! 
Notice: Undefined index: dl in /var/www/html/web/simple.mini.php on line 1
403WebShell
403Webshell
Server IP : 10.254.12.21  /  Your IP : 10.254.12.21
Web Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.6.40
System : Linux arit.skru.ac.th 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User : apache ( 48)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/self/root/usr/src/kernels/3.10.0-1160.118.1.el7.x86_64/scripts/coccinelle/null/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/usr/src/kernels/3.10.0-1160.118.1.el7.x86_64/scripts/coccinelle/null/badzero.cocci
/// Compare pointer-typed values to NULL rather than 0
///
//# This makes an effort to choose between !x and x == NULL.  !x is used
//# if it has previously been used with the function used to initialize x.
//# This relies on type information.  More type information can be obtained
//# using the option -all_includes and the option -I to specify an
//# include path.
//
// Confidence: High
// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6.  GPLv2.
// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6.  GPLv2.
// URL: http://coccinelle.lip6.fr/
// Comments:
// Options:

virtual patch
virtual context
virtual org
virtual report

@initialize:ocaml@
let negtable = Hashtbl.create 101

@depends on patch@
expression *E;
identifier f;
@@

(
  (E = f(...)) ==
- 0
+ NULL
|
  (E = f(...)) !=
- 0
+ NULL
|
- 0
+ NULL
  == (E = f(...))
|
- 0
+ NULL
  != (E = f(...))
)


@t1 depends on !patch@
expression *E;
identifier f;
position p;
@@

(
  (E = f(...)) ==
* 0@p
|
  (E = f(...)) !=
* 0@p
|
* 0@p
  == (E = f(...))
|
* 0@p
  != (E = f(...))
)

@script:python depends on org@
p << t1.p;
@@

coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0")

@script:python depends on report@
p << t1.p;
@@

coccilib.report.print_report(p[0], "WARNING comparing pointer to 0")

// Tests of returned values

@s@
identifier f;
expression E,E1;
@@

 E = f(...)
 ... when != E = E1
 !E

@script:ocaml depends on s@
f << s.f;
@@

try let _ = Hashtbl.find negtable f in ()
with Not_found -> Hashtbl.add negtable f ()

@ r disable is_zero,isnt_zero exists @
expression *E;
identifier f;
@@

E = f(...)
...
(E == 0
|E != 0
|0 == E
|0 != E
)

@script:ocaml@
f << r.f;
@@

try let _ = Hashtbl.find negtable f in ()
with Not_found -> include_match false

// This rule may lead to inconsistent path problems, if E is defined in two
// places
@ depends on patch disable is_zero,isnt_zero @
expression *E;
expression E1;
identifier r.f;
@@

E = f(...)
<...
(
- E == 0
+ !E
|
- E != 0
+ E
|
- 0 == E
+ !E
|
- 0 != E
+ E
)
...>
?E = E1

@t2 depends on !patch disable is_zero,isnt_zero @
expression *E;
expression E1;
identifier r.f;
position p1;
position p2;
@@

E = f(...)
<...
(
* E == 0@p1
|
* E != 0@p2
|
* 0@p1 == E
|
* 0@p1 != E
)
...>
?E = E1

@script:python depends on org@
p << t2.p1;
@@

coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0, suggest !E")

@script:python depends on org@
p << t2.p2;
@@

coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0")

@script:python depends on report@
p << t2.p1;
@@

coccilib.report.print_report(p[0], "WARNING comparing pointer to 0, suggest !E")

@script:python depends on report@
p << t2.p2;
@@

coccilib.report.print_report(p[0], "WARNING comparing pointer to 0")

@ depends on patch disable is_zero,isnt_zero @
expression *E;
@@

(
  E ==
- 0
+ NULL
|
  E !=
- 0
+ NULL
|
- 0
+ NULL
  == E
|
- 0
+ NULL
  != E
)

@ t3 depends on !patch disable is_zero,isnt_zero @
expression *E;
position p;
@@

(
* E == 0@p
|
* E != 0@p
|
* 0@p == E
|
* 0@p != E
)

@script:python depends on org@
p << t3.p;
@@

coccilib.org.print_todo(p[0], "WARNING comparing pointer to 0")

@script:python depends on report@
p << t3.p;
@@

coccilib.report.print_report(p[0], "WARNING comparing pointer to 0")

Youez - 2016 - github.com/yon3zu
LinuXploit