Reported by Assumeru. #1248
/* Free all remaining GC objects. */
void lj_gc_freeall(global_State *g)
{
- MSize i, strmask;
+ MSize i;
/* Free everything, except super-fixed objects (the main thread). */
g->gc.currentwhite = LJ_GC_WHITES | LJ_GC_SFIXED;
gc_fullsweep(g, &g->gc.root);
- strmask = g->strmask;
- for (i = 0; i <= strmask; i++) /* Free all string hash chains. */
+ for (i = g->strmask; i != ~(MSize)0; i--) /* Free all string hash chains. */
gc_fullsweep(g, &g->strhash[i]);
}