mirror of
https://github.com/lua/lua
synced 2024-11-22 21:01:26 +03:00
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:
parent
bd1b87c579
commit
e3c83835e7
2
lapi.c
2
lapi.c
@ -856,9 +856,9 @@ static void aux_rawset (lua_State *L, int idx, TValue *key, int n) {
|
|||||||
t = gettable(L, idx);
|
t = gettable(L, idx);
|
||||||
slot = luaH_set(L, t, key);
|
slot = luaH_set(L, t, key);
|
||||||
setobj2t(L, slot, s2v(L->top - 1));
|
setobj2t(L, slot, s2v(L->top - 1));
|
||||||
L->top -= n;
|
|
||||||
invalidateTMcache(t);
|
invalidateTMcache(t);
|
||||||
luaC_barrierback(L, obj2gco(t), s2v(L->top - 1));
|
luaC_barrierback(L, obj2gco(t), s2v(L->top - 1));
|
||||||
|
L->top -= n;
|
||||||
lua_unlock(L);
|
lua_unlock(L);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user