mirror of
https://github.com/minetest/minetest.git
synced 2024-11-22 23:53:44 +01:00
Lua API: fix OOB array access in find_nodes_near (#14948)
This commit is contained in:
parent
f04cdc00a6
commit
e236ad8348
@ -970,8 +970,8 @@ int ModApiEnvBase::findNodesInArea(lua_State *L, const NodeDefManager *ndef,
|
||||
});
|
||||
|
||||
// last filter table is at top of stack
|
||||
u32 i = filter.size() - 1;
|
||||
do {
|
||||
u32 i = filter.size();
|
||||
while (i --> 0) {
|
||||
if (idx[i] == 0) {
|
||||
// No such node found -> drop the empty table
|
||||
lua_pop(L, 1);
|
||||
@ -979,7 +979,7 @@ int ModApiEnvBase::findNodesInArea(lua_State *L, const NodeDefManager *ndef,
|
||||
// This node was found -> put table into the return table
|
||||
lua_setfield(L, base, ndef->get(filter[i]).name.c_str());
|
||||
}
|
||||
} while (i-- != 0);
|
||||
}
|
||||
|
||||
assert(lua_gettop(L) == base);
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user