From 8e8a92ca2dd9d4be53517bbfbb8215bdbd0c9ff2 Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Wed, 3 Apr 2019 11:15:33 +0800 Subject: [PATCH] overflow check --- 3rd/lua/lstring.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/3rd/lua/lstring.c b/3rd/lua/lstring.c index b0593436..7e3f95a6 100644 --- a/3rd/lua/lstring.c +++ b/3rd/lua/lstring.c @@ -367,11 +367,12 @@ shrstr_expandpage(int cap) { return; int osz = s->mask + 1; int sz = osz * 2; - // overflow check - if (sz <= 0) - return; - while (sz < cap) + while (sz < cap) { + // overflow check + if (sz <= 0) + return; sz = sz * 2; + } struct shrmap_slot * newpage = shrstr_newpage(sz); rwlock_wlock(&s->lock); int succ = shrstr_allocpage(s, osz, sz, newpage);