diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_tab.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_tab.c b/src/lj_tab.c index 535a69f5..869c5f03 100644 --- a/src/lj_tab.c +++ b/src/lj_tab.c | |||
@@ -635,7 +635,7 @@ LJ_NOINLINE static MSize tab_len_slow(GCtab *t, size_t hi) | |||
635 | while ((tv = lj_tab_getint(t, (int32_t)hi)) && !tvisnil(tv)) { | 635 | while ((tv = lj_tab_getint(t, (int32_t)hi)) && !tvisnil(tv)) { |
636 | lo = hi; | 636 | lo = hi; |
637 | hi += hi; | 637 | hi += hi; |
638 | if (hi > (size_t)(INT_MAX-2)) { /* Punt and do a linear search. */ | 638 | if (hi > (size_t)(0x7fffffff - 2)) { /* Punt and do a linear search. */ |
639 | lo = 1; | 639 | lo = 1; |
640 | while ((tv = lj_tab_getint(t, (int32_t)lo)) && !tvisnil(tv)) lo++; | 640 | while ((tv = lj_tab_getint(t, (int32_t)lo)) && !tvisnil(tv)) lo++; |
641 | return (MSize)(lo - 1); | 641 | return (MSize)(lo - 1); |