From d396562b5ec0f14728e9a67fac7a7f7b845e1a20 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 29 Aug 2000 11:52:27 -0300 Subject: [PATCH] lua_equal also accepts out-of-range indices --- lapi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lapi.c b/lapi.c index 86e20807..5a000b49 100644 --- a/lapi.c +++ b/lapi.c @@ -1,5 +1,5 @@ /* -** $Id: lapi.c,v 1.87 2000/08/14 19:10:14 roberto Exp roberto $ +** $Id: lapi.c,v 1.88 2000/08/28 17:57:04 roberto Exp roberto $ ** Lua API ** See Copyright Notice in lua.h */ @@ -116,7 +116,10 @@ int lua_tag (lua_State *L, int index) { } int lua_equal(lua_State *L, int index1, int index2) { - return luaO_equalObj(Index(L, index1), Index(L, index2)); + StkId o1 = Index(L, index1); + StkId o2 = Index(L, index2); + if (o1 >= L->top || o2 >= L->top) return 0; /* index out-of-range */ + else return luaO_equalObj(o1, o2); }