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
extra: if (unsigned >= unsigned) {: Always true if the right side is zero
2012-11-12
Dan Carpenter
s
v
a
l
: debug:
fix reverse
d
condition
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-10
Dan Carpenter
sval: dele
t
e ol
d
unused es
t
ate_undefined
c
ode
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-10
Dan Ca
r
pen
t
er
estate
:
move es
t
ate_get_single_value_sval() to smatch_estate
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carpenter
sval:
t
ype
:
sear
c
h harder from struct
m
ember typ
e
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carpenter
sval:
hack is so
g
et_absolute_m
i
n/max_sval() n
e
ver
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Ca
r
p
ent
e
r
sval: math: don't call
s
val_binop
(
) with bo
g
u
s data
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
D
a
n Carpenter
e
xtra: cleanup se
t
_related()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan
Ca
r
penter
sval: type:
re
m
ove debug
o
utput i
n
get_s
e
l
ect_t
y
pe()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carp
e
nter
sval: handl
e
t
y
pe promotion in sval_binop()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carpenter
s
va
l
:
e
xtra: count pointer types as equiva
l
ent
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carpenter
sval: signe
d
: fi
x
a type prom
o
tion bug
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan
Ca
r
penter
s
v
a
l: extra: fall back to llong_ctype if we don't know
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carpenter
sv
a
l: ty
p
e
:
d
eclare t
y
pe_positive_bits() in
the smatch
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carp
e
nter
sval: typ
e
:
f
i
x
ge
t
_type
(
) for select stateme
n
ts
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carpenter
sval:
e
xtra: cast the parameter
information
to t
h
e
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Car
p
enter
sval
:
f
uzzy
_
m
ax: fix it
to work w
i
th sval
s
better
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
D
an Carpe
n
t
er
sval: type: ge
t
_
t
ype() should
h
andle expressi
o
n st
a
tements
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan C
a
rpenter
s
val: extra: more fixes to m
a
tch com
p
a
rison
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-09
Dan Carpenter
sv
a
l
:
m
a
t
h: don
'
t
e
ven bother t
r
yin
g
to divide
by zero
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
D
an
C
arpenter
sval: handle com
p
ar
i
sons agai
n
s
t
zero
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
D
a
n Carpe
n
ter
sval: pa
s
s
type in
f
o
r
mati
o
n to
extra_undef
i
ned()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Carpenter
s
v
al
:
introduce estate_t
y
pe()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan C
a
rpent
e
r
s
v
al: d
e
l
e
te unused
filter
_
r
a
nge_l
i
s
t
() function
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Car
p
e
n
ter
sval: validatio
n
:
abs
o
l
ute: ad
d
a couple new things
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Car
p
enter
sval: extra
:
abso
l
ute: change how
a
ssignments are h
a
n
dled
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Carpenter
s
val: math:
putting bogus
type information on failu
r
e
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan
C
arpenter
sval: fix cast_
r
l
(
) some more
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Da
n
C
arpenter
s
v
a
l: fix a s
i
gnedness bug i
n
c
h
e
c
k_sig
n
e
d
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan
Carpe
n
te
r
sval: cast UNOPS to the righ
t
type in sma
t
ch_math
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
D
a
n Ca
r
pe
n
ter
sva
l
: in
t
r
o
duce sv
a
l_
t
o_numstr()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
D
an
Carpenter
sval: get rid of struct data
_
r
ange
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Carp
e
nte
r
sval: free the sval data ranges in f
r
ee_data_info_all
o
cs()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
D
an Ca
r
penter
sval
:
h
a
ndle ass
i
gnme
n
ts in smatch
extra
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Carpe
n
t
e
r
sval
:
fix cast_rl() fo
r
h
and
l
ing sin
g
l
e
values
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Carpe
n
ter
sval
:
add __
s
match
_
sva
l
_info() to
check_debug
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan
C
arpenter
sval: update
m
a
t
c
h
_co
m
parison()
a
nd friends in s
m
atch_extra
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
D
an
Carp
e
nter
sval: temporari
l
y hack what sv
a
l_to_str() print
s
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Carpent
e
r
sval: im
p
rove cast_rl()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan
Ca
r
p
en
t
e
r
sval:
introduce s
v
al_cmp_t()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Ca
r
pen
t
er
typ
e
: fix
a
va
l
ida
t
ion
t
est
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan Carpent
e
r
type:
make
g
et_type() han
d
le EXP
R
_POSTOP and EXPR_COMPA
R
E
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-08
Dan
Carp
e
nter
type: introduce
type_signed()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-07
D
an Carpenter
ty
p
e: use type_
p
osi
t
iv
e
_bits() in g
e
t_binop_type()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-07
D
an Carpen
t
er
s
v
a
l: fix sval_cmp() a bit
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-07
Dan Carpenter
sval: introduce sval_positive_bit
s
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-07
D
an Ca
r
p
enter
sval: fix a bug in handling for loops that c
o
unt downwards
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-07
Dan
C
arpenter
sval: remove a who
l
e_range reference i
n
smatch
_
implied
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-07
D
an Carpenter
sval: remove some re
f
e
r
e
nces
t
o whole_range in c
h
eck_kernel
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan Carp
e
nter
sval: remove a
w
hole_r
a
nge
r
eferenc
e
in
c
heck_locking
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan Carpent
e
r
sva
l
: dele
t
e unus
e
d sva
l
_to_ll() fu
n
cti
o
n
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
D
a
n
Ca
r
p
e
nter
sva
l
: make whole_range_list_sv
a
l(
)
take a t
y
p
e
parameter
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Da
n
Carpenter
type: int
r
oduce cu
r
_fu
n
c_return_type
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan Carp
e
nter
sval: star
t
ge
t
t
i
ng rid of e
x
tra_un
d
ef
i
n
ed
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan Carpenter
sval: re
n
ame absolute_i
d
and make it
static now it
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan Car
p
e
nter
sval:
fix a bug
i
n sma
t
ch_absol
u
te
.
c and cleanup
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Da
n
Carpenter
sval: dele
t
e some unused dat
a
_r
a
nge
c
ode
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Da
n
Carp
e
nter
s
va
l
:
u
pdate sma
t
ch_f
u
n
ction_hook
s
.
c to us
e
data
_
range_sval
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan
C
arp
e
nter
sva
l
: d
e
le
t
e remaining struc
t
ran
g
e
_list code
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan Carpe
n
t
e
r
sval: c
r
ea
t
e cast_rl()
w
hich ca
s
ts a
range list to
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-06
Dan Carpente
r
sval: ma
k
e
sval_ca
s
t
() take a type
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan C
a
rpenter
sv
a
l: delet
e
a bunch
of
"
l
o
n
g long"
f
unctions
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sval: delete
ad
d
_
r
ange()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sval
:
change get
_
val
u
e_ranges() to
get_v
a
lue_rang
e
s_sv
a
l()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan
C
arpe
n
ter
sval: del
e
t
e a bunch of unused stuff
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan
C
ar
p
enter
sval: delete
c
lone_perma
n
ent()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
D
a
n Carpenter
sva
l
: convert es
t
ate
s
t
o
use range_l
i
st_sval internal
l
y
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan C
a
rpenter
sval
:
create cl
o
ne_perm
a
nent_sval
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpent
e
r
sv
a
l
: ma
k
e an sv
a
l version of w
h
ole_rang
e
_
l
ist()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpent
e
r
sval: remove
p
o
s
s
i
b
ly_tr
u
e_range_list() and r
e
late
d
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Da
n
Carpent
e
r
sval: delete
u
nused in
v
ert_range_lis
t
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sval: dele
t
e
unuse
d
rl_m
i
n/max()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan
Car
p
enter
sval: de
l
ete unuse
d
i
s
_whole
_
range_rl()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpe
n
ter
sva
l
: remove unu
s
ed estate_get_single_valu
e
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
D
a
n
Carpenter
s
v
al: cleanup es
t
ate_get
_
single_
v
alue_sval()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sva
l
: update alloc
_
di
n
fo_range(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carp
e
n
ter
sval: dele
t
e alloc_es
t
ate
_
no_nam
e
()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sval: update r
e
m
a
ining
call
s
to
a
lloc_estat
e
_
range_list
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sval:
u
p
d
ate r
e
maining
a
ll
o
c_es
t
a
t
e_range() ca
l
l a
n
d
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpe
n
t
e
r
sval: fi
x
bu
g
in han
d
le_amper
s
and()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpent
e
r
sval: introduce valid_ptr_min/max_sval
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
D
a
n
Carpenter
sval: update calls t
o
alloc
_
e
state()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sval: dele
t
e unused estate_ranges
(
) and estate_
m
in
.
.
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Da
n
Carpenter
sval: update
ca
l
l to estate_min()
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan
Carpenter
sval: update c
h
eck_e
r
r_ptr
_
deref
.
c
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpent
e
r
sva
l
:
u
pdate is_whole_range() to use svals
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
s
v
a
l:
delet
e
unused range_lists_equiv()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpent
e
r
s
v
a
l:
d
e
lete unused
get_
i
mplied
_
range_list()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan
Carpenter
sval: update calls to get_im
p
lied_rang
e
_list()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Da
n
Carpe
n
ter
sval:
c
r
eate an sval version of
r
ange
_
lists
_
e
q
uiv
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan Carpenter
sval: extra:
c
onvert
m
atch_comp
a
rison
(
)
to sval
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-05
Dan
Carpenter
sval: fix
a bu
g
in remove_
r
ange_sval()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
Dan C
a
rpent
e
r
sv
a
l: extra: change
so
m
e ra
n
ge_li
s
t st
r
ucts to r
a
nge_
l
ist_sval
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
Dan Carpe
n
ter
sval:
u
pdate
f
u
n
ction_comparison() to
t
ake an sva
l
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
Dan
Carpent
e
r
sval: extra: u
p
d
a
te
i
nc
r
ement/decrement_state
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
Dan C
a
r
penter
sv
a
l: extra: update matc
h
_assign
(
)
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
Dan
C
ar
p
en
t
er
sval:
e
xtra: update canonical loop code
.
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
Dan Carpenter
sval: change th
e
output back to the origina
l
for now
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
D
an Ca
r
penter
sval: extra: update mer
g
e_func()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
Dan C
a
rp
e
n
ter
sval: update filter_range_list()
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
2012-11-02
D
a
n
C
a
rpenter
sval: update add_fi
l
ter(
)
to
t
ak
e
svals
Signed-off-by:
Dan Carpenter
<dan.carpenter@oracle.com>
commit
|
commitdiff
|
tree
next