From 14b413c27d78a84cd419d6038666bf0a7ab6a6b0 Mon Sep 17 00:00:00 2001 From: Georgy Kirichenko <georgy@tarantool.org> Date: Sun, 16 Jul 2017 16:36:01 +0300 Subject: [PATCH] Fix a typo in lua_convertint64() Closes #2605 --- src/lua/utils.c | 2 +- test/app-tap/module_api.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/lua/utils.c b/src/lua/utils.c index df2c0d7bea..441fec631d 100644 --- a/src/lua/utils.c +++ b/src/lua/utils.c @@ -768,7 +768,7 @@ luaL_convertint64(lua_State *L, int idx, bool unsignd, int64_t *result) *result = lua_tointeger(L, idx); return 0; case LUA_TCDATA: - cdata = luaL_checkcdata(L, 1, &ctypeid); + cdata = luaL_checkcdata(L, idx, &ctypeid); switch (ctypeid) { case CTID_CCHAR: case CTID_INT8: diff --git a/test/app-tap/module_api.c b/test/app-tap/module_api.c index f0fae08412..fbea07e4e2 100644 --- a/test/app-tap/module_api.c +++ b/test/app-tap/module_api.c @@ -162,6 +162,12 @@ test_touint64(lua_State *L) return 0; lua_pop(L, 1); + lua_pushliteral(L, "not a cdata"); + luaL_pushuint64(L, 18446744073709551615ULL); + if (luaL_touint64(L, -1) != 18446744073709551615ULL) + return 0; + lua_pop(L, 2); + lua_pushboolean(L, 1); return 1; } @@ -179,6 +185,12 @@ test_toint64(lua_State *L) return 0; lua_pop(L, 1); + lua_pushliteral(L, "not a cdata"); + luaL_pushuint64(L, 18446744073709551615ULL); + if (luaL_touint64(L, -1) != 18446744073709551615ULL) + return 0; + lua_pop(L, 2); + lua_pushboolean(L, 1); return 1; } -- GitLab