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
expressions: introduce some more expression allocation helpers
2012-05-30
Dan
C
arp
e
nte
r
e
x
p
ressions: in
t
rodu
c
e
some more expressi
o
n allocatio
n
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-29
Dan
Car
p
ent
e
r
v
alida
t
ion: up
d
a
t
e der
e
fe
r
ence check output
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-29
Dan Carpente
r
impli
e
d:
cer
t
ain stat
e
s sho
u
ld
b
e
l
eft
as
i
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-27
Dan Carpe
n
ter
slist: put t
h
e
s
m
_
state itsel
f
into ->poss
i
ble not
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-27
Dan
Carpenter
slist: cl
e
a
nup
m
e
r
ge_hooks API
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-27
D
a
n
Carpente
r
extra: don't create a ne
w
merged estate if ->
r
ig
h
t
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan
C
arpe
n
ter
estates: reuse same estate for extra_undefined()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Ca
r
penter
con
s
traints: ge
t
rid of
ad
d
_
e
quiv()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Carpe
n
ter
const
r
aints: remov
e
some dead code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan
Ca
r
pente
r
c
o
ns
t
raints:
f
i
x set_equiv
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
D
an Car
p
enter
c
o
nstraints: a
d
d
_
r
e
lated(
)
should take a rela
t
ed_l
i
st
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan
Carp
e
nter
constraints:
sort
t
h
e
-
>related lis
t
prope
r
ly
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Carpenter
constraints: repl
a
c
e get_common_r
e
l
ationship() with
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-26
Dan Ca
r
penter
slist: move add_poo
l
() to smatch_impli
e
d
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-24
Dan Carpe
n
ter
bit_
s
hift
:
ad
d
test_bit() function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-23
Dan Carpen
t
er
flow: silence f
a
lse
p
ositives caused by hai
r
y
f
u
n
ctions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Da
n
Carpen
t
er
implied: rename ->
m
y_
p
ool to ->pool
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpent
e
r
slist:
renam
e
add_p
o
s
s
ibl
e
() => copy_p
o
ssibles()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpen
t
er
o
r
_vs_and: i
g
no
r
e *p++ || *p
+
+
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpen
t
er
tr
a
c
ker: fix a s
m
all memory leak
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpen
t
e
r
modification:
r
emove
c
alls to delete
_
state(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
D
a
n
C
a
rpenter
check_derefe
r
ence: e
n
able this
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carp
e
nte
r
d
b: store
whether functions are global
or stat
i
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
Dan Carpent
e
r
tracker: re
m
o
v
e un
u
sed clone_tracker_lis
t
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
D
an Carp
e
nter
slist: buffer overflow
in deb
u
ggin
g
code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-22
D
a
n C
a
rpenter
user_dat
a
: fix NULL dereference
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-21
Dan Carpe
n
ter
d
b
: w
h
ite space clea
n
u
p
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-21
D
a
n
Carpente
r
db: m
o
ve parameter_implications into
the d
a
tabase
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-21
Dan Car
p
enter
ranges: add
p
ossibl
y
_
tru
e
/false_range_lists
_
r
l
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-18
Dan Carpe
n
ter
overfl
o
w: a
u
tomatically l
i
st functions tha
t
ta
k
e a
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-18
Dan Carp
e
nter
modific
a
tion_hooks: c
o
mplete
re
w
r
it
e
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-17
D
an C
a
rpe
n
te
r
db
:
print the SQL
queri
e
s wh
e
n --
d
ebug is on
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
Dan Carpent
e
r
c
lean
u
p: use
v
alid
_
p
t
r_min/max
.
get rid of
P
OINTER_M
A
X
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
Dan C
a
rpente
r
extra: dere
f
e
re
n
cing a pointer me
a
ns
i
t
is va
l
id
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
D
an Carpenter
i
m
plied: clea
n
up d
e
bug outpu
t
a little
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-16
Dan Car
p
e
n
ter
slist: pull
show_sm()
i
nto a separate fu
n
ctio
n
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carpente
r
check_kernel: ERR_PTR() returns non-NULL (m
o
stl
y
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carpe
n
t
e
r
derefe
r
ence checks: use the cross fun
c
tion in
f
o fro
m
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carpenter
*ne
w
* check_deref
e
r
en
c
es_param: list functions t
h
at
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Car
p
enter
*new* returns: merge
all slists from all r
e
t
urns
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carpenter
d
b
: add
c
all_impli
e
s
table
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan Carp
e
nter
flow: print a di
f
ferent f
i
lename when --in
f
o opti
o
n
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-15
Dan
C
arpent
e
r
deref: fix a typo in the error messag
e
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-10
Dan Carpen
t
e
r
us
e
r_data
:
track
user data that is retu
r
ned to other
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-10
Dan Carpenter
b
o
ol_implications: re
m
ove
d
ebugging output
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-08
Dan Ca
r
penter
fi
x
c
ompile o
n
Ubuntu
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-07
Dan Carpe
n
ter
generisize
.
pl: strip a
l
l strings not
just
t
he first
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-05-07
Da
n
Ca
r
penter
buf_s
i
ze: Ad
d
a NULL
ch
e
ck to get_arra
y
_size_bytes()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Dan
C
arp
e
nter
*n
e
w* sizeof_pointer: us
i
ng si
z
e
o
f(p)
w
here sizeo
f
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
D
an Car
p
ent
e
r
overflow:
c
h
eck memcp
y
(
)
to see if we're
c
omparing
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Dan Carpe
n
ter
extra:
d
o
n't r
e
set &arguments until the other checks
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Dan C
a
r
penter
flow: change how "for (i = 0; ;
i++)
{
.
.
.
" is handled
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-26
Dan Carpenter
*new* or_
v
s_and: complain a
b
o
ut i
f
(x != 3 || x !=
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-24
Dan
C
a
rpenter
s
parse:
introduce get_expr
e
s
s
ion_value_nomod()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-23
Da
n
Carpenter
typ
e
: int
r
oduc
e
is_pointer()
function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-19
Dan Carpenter
ex
t
ra:
frob(fo
o
) resets th
e
value
o
f *
f
oo
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-19
Dan Ca
r
penter
extra: foo((void
*
)&x) writes to x p
r
obably
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-18
Dan Ca
r
penter
r
a
nges
:
introd
u
c
e
i
n
v
ert_ra
n
ge_
l
ist()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-18
Dan Car
p
enter
math: han
d
le _
_
smatch_i
m
plied(
&
x);
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
D
a
n
C
a
r
pent
e
r
ranges: commit ra
n
ge_l
i
sts_eq
u
iv() so
that bool_im
p
licatio
n
s
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Ca
r
p
e
nter
smd
b
_param_buf_size
.
sh:
a
sk db what si
z
e buffers are
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Carpenter
e
x
t
ra: get_imp
l
ied_r
a
n
g
e_list() s
h
o
u
ld handle
c
o
n
ditions
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Carpent
e
r
buf_size: store buff
e
r
s
i
zes in db (turned off
b
y default)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
Dan Carpenter
db: don't
die on S
Q
L
errors
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-17
D
a
n
Ca
r
penter
bool_implications:
m
a
k
e a list of implica
t
i
o
ns fo
r
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-16
Dan
C
a
rpenter
math: h
a
n
d
le lo
g
i
c
al e
x
pressions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-15
Dan Carpenter
co
r
e
:
print sm_msg()s before pars
i
ng start
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-15
Dan Carpe
n
t
e
r
parameter_implications: generate list of functions
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-15
Da
n
Carpenter
db: match_return(
)
shouldn't re-implement get_implied_ra
n
ge_
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpenter
math: sort of handle c
o
n
d
it
i
ons
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carp
e
n
ter
math: simplify implied_cond
i
tion_true/
f
a
l
se()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
D
a
n Carpe
n
ter
m
a
th: si
m
plify
k
n
own_condition_true/false()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpente
r
m
a
th: handle __sm
a
tch
_
imp
l
i
e
d((
{
frob(); 2;}));
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpenter
math:
h
a
ndle foo =
!
2;
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-14
Dan Carpenter
extra, mat
h
:
move kno
w
n_conditon_
t
r
u
e/false() etc f
r
om
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-13
Dan Carpenter
project:
f
i
x parameter
implications
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-13
Dan Carpenter
helper: intr
o
duce get_member_name()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-13
Dan Car
p
e
nter
db: print all re
t
urn
v
alues at end of
f
u
nct
i
on
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-04-04
Dan Carpenter
db: add some smdb_
s
c
ript
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
Dan Carpenter
fill_db_return_
i
n
f
o
:
fix out dated parsing
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
Dan
C
arpe
n
ter
extra: always initialize the range in get_implied_ra
n
ge_list()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
Dan Car
p
enter
extra: fi
x
get_implied_rang
e
() fo
r
f
unction ca
l
l
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
D
an C
a
rpenter
check_
m
acros: clea
n
u
p
: us
e
p
o
si
t
i
o
n
s
_
eq()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
Da
n
Car
p
en
t
er
m
acr
o
:
t
ake a struct position, not a poi
n
ter t
o
a st
r
uct
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
Dan Car
p
enter
implie
d
: clean
u
p: move
d
ubug prin
t
fs to their ow
n
fu
n
ction
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
Dan Carpenter
range
s
: get ri
d
o
f
possib
l
y_(true/fals
e
)_range_
l
i
st_ls()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-30
Dan Carpenter
ranges: cleanup: mov
e
true_comparison_ran
g
e
_lr() into
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-29
Dan Carpenter
extra: add parame
t
er implicat
i
ons
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-29
Dan C
a
r
pent
e
r
ranges
:
introduce clone_p
e
rm
a
n
ent()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-29
Dan Carpenter
ranges: init
i
ali
z
e the pointer in get_value_ranges()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-29
Dan C
a
rpenter
db: ign
o
re functio
n
s w
h
ich are
c
alled a
l
o
t
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-29
D
an Carpenter
type: export g
e
t
_real_ba
s
e_type
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-29
Dan Ca
r
p
e
nter
db: add code to hack up the dat
a
bas
e
with project s
p
ecific
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-23
Dan Carpent
e
r
conditi
o
ns: pr
e
serve
|
= as the assign op in foo |=
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-23
Dan
C
a
rp
e
nt
e
r
t
y
pe: sizeof() is unsi
g
ned long
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-23
Dan Carpenter
co
n
ditions: spars
e
never seems to use SPEC
I
AL
_
UNSIGNED_GT
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-21
Dan
Car
p
e
nter
helpe
r
:
i
ntro
d
u
c
e
p
os
i
tions_eq(pos1, pos2) function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-19
Dan Carpenter
build
_
k
ernel_data
.
sh: m
a
ke it executable
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-19
Dan
Carpenter
macro_side_ef
f
ect
s
:
silence false positives in
s
ide
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-03-17
D
an Carpe
n
ter
test_kern
e
l
.
sh: cr
e
at
e
a bak
.
smatch at the beginning
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
next