repo.or.cz
/
smatch.git
/
search
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
first
·
prev
·
next
buf_size: Using plain integer as NULL pointer
2016-07-18
Dan Carp
e
nter
buf_
s
ize:
Using plain integer as NULL pointer
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-18
D
an Carp
e
nter
db:
Using
plain integer a
s
NUL
L
p
ointer
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-18
Dan
Carpe
n
ter
ast-mo
d
el: Using plain i
n
teger as NULL po
i
nter
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Ca
r
penter
debug: add a
__smatch_absolute()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpent
e
r
user
_
data: short circui
t
a b
u
nc
h
of code
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpenter
dma_mapping_error: add pci_dma_mapping_erro
r
() to this
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
D
a
n
Carpente
r
continue_vs_break: add it checklist
.
h
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpenter
smatch_addres
s
:
d
on't
c
r
ash on invalid
code
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
D
a
n Carpen
t
er
*new* co
n
tin
u
e_vs_break: c
o
mpl
a
in if continue i
s
used
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Da
n
Carp
e
nte
r
sm
a
tc
h
.
h: rese
r
ve some db types for l
a
ter
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Da
n
Carpente
r
smatch
.
h
:
shuffle so
m
e declaratio
n
s around
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Da
n
Carpenter
s
ma
t
ch
.
h: sil
e
nce a comp
i
l
e
warning
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
D
a
n Carpenter
capped
:
set
i
t to uncapped if it's mo
d
ified
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Da
n
Carpente
r
d
b/fixup_kernel
.
sh: work around for __to_fd()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carp
e
n
t
er
db/fi
x
up_kerne
l
.
sh: work around
for gfs2_e
a
_
f
ind()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Da
n
Carpenter
db/kernel
.
return_fixes: specify some functions that
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpen
t
er
i
m
plied: add more
inf
o
rmation to
the debug o
u
tput
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan
C
a
rpenter
debug: print if you giv
e
a bad chec
k
name t
o
_
_
s
match_state
s
()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Da
n
Carpent
e
r
s
m
atch_
d
ata/wine: update wine data fi
l
es
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpenter
extra:
a
dd more para
m
et
e
r dereferences
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carp
e
nter
m
ath: don't cr
a
s
h
o
n invalid code
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpent
e
r
user_d
a
ta2
:
skb->data is not user data, skb->data[0]
i
s
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpenter
t
y
pe_value: it doesn't make s
e
nse to talk about
t
h
e
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpen
t
er
ext
r
a: improve how "if (f
o
o &
~0xF)" is
h
andle
d
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpe
n
t
er
math
:
i
gnore byte swaps
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan
C
arpenter
flow: handl
e
whil
e
(42) {
.
.
.
} l
o
o
ps better
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Carpenter
c
ompari
s
on,function_
h
ooks:
r
emove
impossible
p
aths
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-16
Dan Ca
r
penter
para
m
_com
p
are
_
limit:
l
ike par
a
m
_
lim
i
t bu
t
f
o
r co
m
parisons
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-15
D
a
n
Ca
r
penter
c
o
mp
a
ri
s
on: add a FIXME regarding
a bug I
n
o
ticed
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-15
Dan Carpenter
c
o
mparison:
load
/
u
s
e
ret
u
r
n
comparisons i
n
the cross
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-15
Dan Car
p
ente
r
comparison: load struct
member
in
f
o into the c
a
lle
r
_info
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-15
Dan Ca
r
penter
comparison: load the correct
c
omparison information
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-12
D
a
n Carpenter
flow:
don
'
t call sc
o
p
e
h
ooks until after the EN
D
_FU
N
C_
H
OOKs
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-12
Dan
Carpenter
modifica
t
ion_hook
s
: going out of scope is not
a
modification
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-12
Da
n
C
a
r
pente
r
db/fixup_kernel
.
sh:
update
g
et_
u
ser
_
pages() t
o
match
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-11
D
an Carpenter
function_
h
o
o
ks: pu
l
l is_impossible_data() into i
t
s
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-11
D
a
n Ca
r
penter
comparison: cleanup han
d
le_comp
a
rison()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-11
Dan
C
arpenter
c
o
mparison: export some f
u
nctions
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-09
Dan Carpenter
state
s
: nullify_path() s
h
o
uld d
o
fr
e
e the fak
e
_cur_st
r
ee
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-08
Dan Carpenter
d
b
: han
d
l
e
compari
s
o
n
s
t
h
a
t
we know are
t
ru
e
b
e
tte
r
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-08
Dan Carpenter
db: mark
s
ome true fal
s
e paths i
m
possible
based on
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-08
D
a
n Carpenter
ranges,
d
b: if w
e
can't filter by compar
i
s
o
n the
n
use
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-08
Dan Carpe
n
ter
db: handle nes
t
ed calls
better
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-04
D
a
n C
a
rpenter
extr
a
: re-write h
a
n
d
le
_
A
N
D_condition()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-01
Dan Carpent
e
r
implied
:
handle impo
s
s
ible paths fr
o
m complicated switch
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-01
Dan C
a
rpent
e
r
implied: ge
t
rid of the ->impli
e
d member
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-01
Dan Carpenter
implied: get rid of a tem
p
orary v
a
r
iable
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-01
Dan
Carpent
e
r
smatch_data
/
win
e
.
no_retu
r
n
_
f
u
n
cs: ad
d
more functions
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-01
D
a
n Carpe
n
ter
smatch_scripts
/
gen_no
_
r
e
turn
_
funcs: fix th
i
s for other
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-07-01
Dan Ca
r
penter
pre-process:
make -
n
ostd
i
nc w
o
r
k ag
a
in
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
D
an Carpenter
check_wine
:
make
r
eport(R_FAT
A
L,
.
.
.
) a nullify th
e
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
D
a
n Carpenter
v
a
lidation
/
sm_WtoA: ad
d
single
quotes in
o
u
tput
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
D
a
n Carpenter
s
m
atch_scripts: update the g
e
n_*
s
cripts to take
a
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
Dan Carpenter
par
s
e: ig
n
ore _P
r
a
gma()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
Dan Carpenter
sma
t
ch_data/w
i
ne
.
ign
o
red_
m
acros
:
a
dd o
k
(
)
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
Dan Car
p
ente
r
smatch_data/wine
.
no_return_func
s
:
up
d
at
e
the list
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
Dan Carpenter
sparse: add /
u
sr/in
c
lude/x86_64-linux-g
n
u/ incl
u
de
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-30
Dan C
a
rpenter
wine_WtoA
:
add si
n
gled quot
e
s in the
o
utput
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-25
Dan Car
p
enter
db: remove PRAG
M
A s
y
nchr
o
n
o
u
s
=
OF
F
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-24
Dan Carpenter
a
vl: make ge
t
_stre
e
_
i
d() retu
r
n
-1 if
the s
t
ree poi
n
ter
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-24
Dan Carpente
r
implied: handle
-
>imp
l
ied state
s
d
i
fferent
l
y
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-24
D
a
n
Carpent
e
r
slist
,
implied: pre
s
erve t
h
e en
t
ire cur_s
t
ree in the
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-24
Dan Carpenter
implied: fix a bug where
w
e
imply the
wrong thing
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-24
Dan C
a
rpenter
i
m
plied: rem
o
v
e an
inden
t
l
e
vel
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-24
Dan Carpenter
implied: change de
b
ug output
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-17
D
an Carpenter
extra
:
ignore truncated
limits
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-15
Dan Carpenter
flow: handle asm gotos
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-15
Dan Carpenter
d
b
:
s
plit o
n
boolean parameter
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-15
Dan Carpenter
struct_assignment: hand
l
e poin
t
ers better
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-15
Dan Carpenter
func
t
ion_
h
ooks: hack
ar
o
und i
n
val
i
d
in
p
ut fro
m
the DB
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-15
Dan
Carpenter
fu
n
ction_ho
o
ks: fix the previous range hooks fix again
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
D
an Carpent
e
r
flow: set ->par
e
nt for
expression s
t
ate
m
ents
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
Dan
Carp
e
n
t
er
helper
,
u
ntracked_param: mov
e
the i
n
t
_
s
t
ack to smatch_h
e
lper
.
c
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
Dan Carpenter
ranges: fi
x
casti
n
g to bool
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
D
a
n
C
arp
e
nter
flow:
set position
at the st
a
r
t of t
h
e fun
c
tion corre
c
tly
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
Dan Carpent
e
r
function_hooks: fix a typo i
n
debug o
u
tput
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
Dan Carpenter
implied
:
tweak t
i
meout
i
n
separa
t
e_and_filter
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
Da
n
Carpenter
function_hooks: fix a type is
s
ue (a
f
f
e
cts
r
ang
e
d function
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-14
Dan Carpenter
function_ho
o
ks: fix db and ra
n
ged_funct
i
ons integration
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-13
Da
n
Carpent
e
r
db/kernel
.
return_fixes: h
a
ck around
d
own_int
e
r
rup
t
ible()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-13
D
a
n Carpenter
db/ker
n
el
.
return_fix
e
s
:
add
s
cnprintf()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-13
Da
n
Carpen
t
er
function_hooks: fix lock
i
ng fal
s
e posi
t
ives when you
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-13
Dan Carpent
e
r
ext
r
a: fix
mem
s
e
t
()
h
a
n
dling
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-11
Dan Carpenter
impl
i
ed
:
d
elete unused function sm_
s
tate_
i
n_sl
i
st()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-11
Dan
Car
p
enter
ptr
l
ist: use after free
in last_ptr_list
(
)
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-11
D
a
n Carpenter
flow: type issue
h
andling
switch state
m
ents
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-11
Dan
C
arpenter
range
s
: fix
type issue in remove_ran
g
e(
)
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-11
D
a
n
Carpenter
conditions
:
s
i
lence valgrin
d
warnin
g
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-06
Dan Carp
e
nt
e
r
flow:
set final_pa
s
s if we have to
b
ail
o
n
a
func
t
ion
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-02
Dan Carpen
t
er
extra: ex
p
or
t
g
e
t
_othe
r
_
n
ame_sym()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-02
D
a
n Carpe
n
ter
i
m
possi
b
l
e: add is
_
im
p
ossible_path() to smatch
.
h
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-02
Dan Carpenter
db: don't cr
a
s
h
g
enerating SQL for invalid code
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-02
Dan C
a
rpenter
extra
:
fix
bug handling untracked poin
t
ers
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-02
D
a
n Carp
e
nter
s
t
ruc
t
_
a
s
signment
:
ignore cer
t
ain types of assignments
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-02
Da
n
Carpen
t
er
extra: deferences in fake assignments don't c
o
unt
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-02
Dan C
a
rpenter
extra:
h
a
n
dle fake
assignments faster
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-01
D
an
C
a
r
p
en
t
e
r
i
mplied:
i
m
prove overwrite_states_using_
p
o
o
l
()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-01
Da
n
Carpenter
i
mplied: ad
d
a
comment e
x
plaining how imp
l
ications
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-06-01
D
an C
a
rpenter
fu
n
c
t
ion_
h
ooks
:
chec
k
PARAM_L
I
MI
T
implicatio
n
s all
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2016-05-31
Dan Carpente
r
function
_
h
ooks: in
t
egrate call_impl
i
es hooks wi
t
h the db
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
next