Fixed bug in 'aux_rawset'

In 'aux_rawset', top must be decremented after the barrier, which
refers to top-1. (Bug introduced in commit c646e57fd.)
This commit is contained in:
Roberto Ierusalimschy 2019-12-30 14:53:38 -03:00
parent bd1b87c579
commit e3c83835e7

2
lapi.c
View File

@ -856,9 +856,9 @@ static void aux_rawset (lua_State *L, int idx, TValue *key, int n) {
t = gettable(L, idx);
slot = luaH_set(L, t, key);
setobj2t(L, slot, s2v(L->top - 1));
L->top -= n;
invalidateTMcache(t);
luaC_barrierback(L, obj2gco(t), s2v(L->top - 1));
L->top -= n;
lua_unlock(L);
}