diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-03-14 12:37:19 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-03-14 12:37:19 -0300 |
commit | c2dc6e8e947ed0c7b18d452592f722f56ee1f96a (patch) | |
tree | 2d39698d94992e158199db58d53693496250d2b6 /lapi.c | |
parent | 22974326ca0d4f893849ce722cc1d65b3e228f42 (diff) | |
download | lua-c2dc6e8e947ed0c7b18d452592f722f56ee1f96a.tar.gz lua-c2dc6e8e947ed0c7b18d452592f722f56ee1f96a.tar.bz2 lua-c2dc6e8e947ed0c7b18d452592f722f56ee1f96a.zip |
Missing GC barrier in 'luaV_finishset'
Diffstat (limited to 'lapi.c')
-rw-r--r-- | lapi.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -888,9 +888,8 @@ LUA_API void lua_settable (lua_State *L, int idx) { | |||
888 | api_checkpop(L, 2); | 888 | api_checkpop(L, 2); |
889 | t = index2value(L, idx); | 889 | t = index2value(L, idx); |
890 | luaV_fastset(t, s2v(L->top.p - 2), s2v(L->top.p - 1), hres, luaH_pset); | 890 | luaV_fastset(t, s2v(L->top.p - 2), s2v(L->top.p - 1), hres, luaH_pset); |
891 | if (hres == HOK) { | 891 | if (hres == HOK) |
892 | luaV_finishfastset(L, t, s2v(L->top.p - 1)); | 892 | luaV_finishfastset(L, t, s2v(L->top.p - 1)); |
893 | } | ||
894 | else | 893 | else |
895 | luaV_finishset(L, t, s2v(L->top.p - 2), s2v(L->top.p - 1), hres); | 894 | luaV_finishset(L, t, s2v(L->top.p - 2), s2v(L->top.p - 1), hres); |
896 | L->top.p -= 2; /* pop index and value */ | 895 | L->top.p -= 2; /* pop index and value */ |