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
flow: re-write how struct members are initialized
2013-05-13
Dan Carpent
e
r
extra: add set_extra_nodmod() to sma
t
c
h
_ex
t
ra
.
h
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-10
D
a
n C
a
r
pe
n
ter
deref: fix segfau
l
t p
a
rsing invalid c cod
e
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-09
Dan Carpenter
impl
i
ed:
p
reser
v
e equivalence across
switch stateme
n
ts
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-09
Dan Carpent
e
r
ma
t
h: han
d
l
e
sizeof for z
e
ro size bi
t
fields
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-08
Dan Carpenter
extra: hand
l
e
previously assig
n
ed simple math
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-08
Dan Carpente
r
extra:
handle "if (a
- 3 > 100) "
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-08
D
an
Carpenter
extra: split match_comparison() i
n
to two func
t
i
ons
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-08
Dan Carpenter
capped: kn
o
wn v
a
l
u
es ar
e
a
l
w
a
ys capped
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-05-08
D
a
n
C
arpenter
Revert "sparse: i
n
troduce get_expressio
n
_
value_nomod()"
commit
|
commitdiff
|
tree
2013-04-20
Dan
C
arpenter
sho
w
_unreachable
.
s
h: add some more ignored kernel
f
u
n
ct
i
ons
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-20
Dan Ca
r
p
enter
flow: don't prin
t
duplicate
"unr
e
acha
b
le code" warni
n
gs
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-20
Dan Carpenter
db: replace datab
a
se inf
o
scripts with sm
d
b
.
p
y
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-19
D
an Carpe
n
t
e
r
show_unrea
c
ha
b
le
.
sh: ch
a
nge the line number
f
ormat
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-19
D
an Carpenter
sh
o
w
_
unre
a
chable
.
sh: r
e
plac
e
tabs with
spac
e
s
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-18
Dan Carpenter
db: kern
e
l
: fak
e
up ->read/write() l
i
mits
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
Dan
Carpen
t
e
r
db: stor
e
"too c
o
mmon" functions in t
h
e database
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
Dan Car
p
e
n
t
e
r
par
a
m_cleared: clea
r
_buffer: add them to the ch
e
c
k
_li
s
t
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
Dan
C
arp
e
n
t
er
e
x
tr
a
: don't use the
indirect_
m
odifica
t
i
o
n_hook
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
Dan
Carpen
t
er
extra: make param_filter
s
et_extra
_
mod
(
)
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
D
a
n Carpenter
rosenbe
r
g
:
remove pahole
d
ependency
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
Dan Car
p
enter
parse: add a big h
a
ck to trac
k
packed s
t
r
u
cts
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
D
a
n
C
arpenter
*new* smatch_clear_buffer
.
c: hand
l
e
mems
e
t() type functions
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
Dan
C
arpenter
param_limit/fi
l
ter: ig
n
ore whole
ranges
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-17
Dan Car
p
e
n
ter
ra
n
ges: an empty range is n
o
t a whole ran
g
e
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-15
Da
n
Carpenter
e
x
t
ra: remov
e
some de
a
d code
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-15
Dan
C
a
r
pent
e
r
extra:
smal
l
f
ix for when the database is disabled
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-15
D
a
n Carpenter
db: always spl
i
t the return
v
alues if we're not using
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carpenter
c
onditions: use set_extra_expr_mod() to ch
a
n
g
e
e
xtra
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carpenter
user_
d
a
ta
:
compat
s
yscall par
a
meters are user data
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-15
Dan Carpente
r
us
e
r_dat
a
: using a user supplied offs
e
t int
o
an
k
no
w
n
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-15
Dan Ca
r
penter
locking: add so
m
e more bh lock functions
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-12
Dan Carpenter
Merge branc
h
'r
f
c-att
r
ibute-struct' of git
:
/
/
gi
t
.
k
e
rnel
.
.
.
commit
|
commitdiff
|
tree
2013-04-12
Dan
Carpenter
che
c
k_deref: disable "potential NULL deref
e
ren
c
e
"
by
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-10
Dan Carpent
e
r
locking
:
add local_bh_disa
b
le/
e
nable
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-09
Dan Carpenter
l
o
ckin
g
: ha
n
dl
e
n
ull vs non-
N
ULL re
t
ur
n
s
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan
Carpenter
locki
n
g: update validati
o
n
/
t
ests to the new warn
i
ng
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan Car
p
e
n
ter
f
unction_ptrs: "(
*
ptrs[0])
(
a, b)" is th
e
same
as "ptrs
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpenter
f
u
nction_
p
t
rs
:
record when function poi
n
ter
i
s sav
e
d
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carp
e
n
t
er
rosenb
e
r
g
: rem
o
ve some structs which don't h
a
ve holes
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpenter
r
osenberg: chec
k
for nla_put in
f
o
l
e
aks
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
D
a
n
C
a
rpenter
flow: fake memb
e
r and element
a
ssignm
e
nts bett
e
r
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpenter
exp
r
e
s
sion
s
: introduc
e
arr
a
y_eleme
n
t_expressi
o
n()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
D
a
n
Carpenter
locking: take
r
eturns values into
c
onside
r
ation
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
D
a
n Car
p
en
t
er
che
c
k_kernel:
l
oo
k
harder for the cont
a
iner_of() macro
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpent
e
r
implied:
db: fix ho
w
returns are broke
n
apa
r
t
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
Dan Carpente
r
db:
r
eturn_id was set
i
ncorrectly when
inl
i
ne
f
unctions
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-08
D
a
n
Ca
r
pe
n
ter
d
b:
f
i
x how
t
he retu
r
n
valu
e
s are casted
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-04
Dan Carpe
n
ter
helpe
r
: make is_array(
)
accept NULL pointers
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-03
Dan Carpenter
db: function_ptrs: do b
e
tter at function pt
r
to functi
o
n
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-03
D
a
n Carpen
t
er
flow: create fa
k
e
a
ss
i
gnments for arra
y
de
c
larations
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-03
Dan Carpenter
flow: expressions: don't
try
u
pd
a
tin
g
t
o u
n
i
n
itialized
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-03
Dan
Carpenter
db: f
i
xup_kerne
l
.
s
h: (struct mI
S
DNchannel)->send inform
a
t
ion
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-03
Dan Carpenter
db: fixup_ker
n
el
.
sh: rec
o
r
d
w
here ->notifi
e
r_
c
all is
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-02
Da
n
Carpenter
flow: handle inlines b
e
tter
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-02
Dan Ca
r
penter
db:
func
t
ion
_
ptr
s
: track poi
n
ter to pointer assignments
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-02
Dan Car
p
e
nter
math: silence some bu
f
fer ov
e
rfl
o
w false posit
i
ves
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-04-02
Dan
Carpen
t
e
r
db: fixup_k
e
rnel
.
sh: igno
r
e (s
t
r
u
ct ti
m
er_
l
ist)->function
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
D
a
n Carp
e
nter
db:
l
ook up all th
e
funct
i
on p
o
in
t
ers
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
hel
p
er: allow get_p
a
ram_num_from_sy
m
()
t
o be us
e
d in
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Da
n
Carpenter
s
t
ri
n
g_lis
t
: introduc
e
list_has_str
i
ng()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
smatch_string
_
list
.
c: se
p
arat
e
s
t
ring_list f
u
nctions
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
d
b
: only lookup funct
i
o
n
pointers once
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan C
a
r
penter
annot
a
te
:
us
e
it
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpent
e
r
helper: ig
n
ore parens
i
n
expr_to_va
r
()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpen
t
er
ove
r
f
lo
w
: silence kerne
l
fa
l
se
positive about __per_cpu_offset
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
kerne
l
:
r
ecover modul
e
_in
i
t/exit() fun
c
ti
o
ns
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
D
an Carpenter
f
low: pass
t
he
s
ym_list t
o
the END_FILE_HOOK
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Car
p
enter
db: fixup
_
kernel
.
sh remove s
o
me mor
e
U
S
E
R
_
D
ATA tags
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan C
a
rpenter
d
b
: speedup fill_db_caller
_
info
.
pl
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpen
t
er
ex
t
ra: i
m
prove += a
n
d -=
h
a
n
d
ling
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpe
n
t
e
r
sval: intr
o
d
uce
s
val_is_
n
egative_min()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
sval: f
i
x
sval_binop_o
v
erflows(
)
t
o
acce
p
t
different
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carpenter
i
ntroduce
s
mat
c
h_anno
t
at
e
.
c: annotate some common functions
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
D
a
n Car
p
enter
db: give up if there are
ov
e
r
1
0
00 returned
s
tates
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-25
Dan Carp
e
n
ter
db: fix slow do
w
n c
a
used by
recursi
v
e
f
unction c
a
l
l
s
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-21
Dan Carpenter
buf_size: fals
e
positive from large "implied
"
im
p
l
i
e
d
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-21
Da
n
Carpenter
hel
p
er: fix expr_to_s
t
r() for functio
n
c
a
lls
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-21
Dan Carpente
r
db: remove more user da
t
a
from s
t
a
rt_x
m
it
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-21
Dan Carpenter
db: manually delete some US
E
R
_DATA ma
r
kers f
r
om the
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-18
Dan Ca
r
pent
e
r
extra: mov
e
vanilla ass
i
gns into their own function
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan Ca
r
penter
ranges: in cast_rl() s
o
met
i
mes
it's bet
t
e
r to just
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan
C
arpenter
extra: type bug handl
i
ng asm
expressions
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
D
a
n Carpenter
db: fix b
u
g handling
'
:' character
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan Car
p
enter
math:
U
se function call inf
o
rma
t
io
n
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan Carpenter
flow: ha
n
d
l
e POST_O
P
s
c
o
r
r
ect
l
y
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan Carpenter
b
u
f_size:
handle dma_alloc_attrs()
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan
C
arpenter
extra
:
type bug handli
n
g for loops
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan Ca
r
p
e
nter
math:
fix a co
u
ple type bugs
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
D
a
n Carp
e
nte
r
l
o
cki
n
g
: fix build problem
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-15
Dan Car
p
ent
e
r
user_data
:
the p
o
inte
r
return
e
d from cont
a
iner_of(
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-14
Dan Car
p
en
t
er
db: update a deb
u
g mes
s
age
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-14
Da
n
Carpe
n
ter
db
:
change
th
e
file searched for static
functions
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-14
Dan
C
arp
e
nter
f
l
ow:
f
ix a
debug
s
tatement
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-14
Dan Carpenter
fl
o
w:
sa
v
e an
d
restore the b
i
g
_expression_s
t
a
c
k when
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-14
Da
n
Car
p
e
nter
c
o
n
d
itions:
fix s
m
a
ll sig
n
edne
s
s b
u
g in compares
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-12
Dan Carpenter
locking: igno
r
e paren
t
hesis
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-12
Dan Car
p
enter
stack: turn off by def
a
ult, and
l
ess spammy
always
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-12
Dan Carp
e
nter
signed: don
'
t war
n
a
b
out assignments
t
o b
o
olean
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-12
Dan Carp
e
n
ter
local_va
l
ues: not all
the set values make
i
t to the
.
.
.
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
2013-03-12
Dan
Carpente
r
sizeof_param:
i
gnore str
n
cat(a
,
b, sizeof(b));
Signed-off-by: Dan Carpenter <
dan.carpenter@oracle.com
>
commit
|
commitdiff
|
tree
next