mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 12:20:41 +00:00
overflow check
This commit is contained in:
@@ -367,11 +367,12 @@ shrstr_expandpage(int cap) {
|
|||||||
return;
|
return;
|
||||||
int osz = s->mask + 1;
|
int osz = s->mask + 1;
|
||||||
int sz = osz * 2;
|
int sz = osz * 2;
|
||||||
// overflow check
|
while (sz < cap) {
|
||||||
if (sz <= 0)
|
// overflow check
|
||||||
return;
|
if (sz <= 0)
|
||||||
while (sz < cap)
|
return;
|
||||||
sz = sz * 2;
|
sz = sz * 2;
|
||||||
|
}
|
||||||
struct shrmap_slot * newpage = shrstr_newpage(sz);
|
struct shrmap_slot * newpage = shrstr_newpage(sz);
|
||||||
rwlock_wlock(&s->lock);
|
rwlock_wlock(&s->lock);
|
||||||
int succ = shrstr_allocpage(s, osz, sz, newpage);
|
int succ = shrstr_allocpage(s, osz, sz, newpage);
|
||||||
|
|||||||
Reference in New Issue
Block a user