diff --git a/nse_libssh2.cc b/nse_libssh2.cc index 4601bc020..1e5a72012 100644 --- a/nse_libssh2.cc +++ b/nse_libssh2.cc @@ -540,9 +540,10 @@ static int userauth_publickey (lua_State *L, int status, lua_KContext ctx) { } static int l_userauth_publickey (lua_State *L) { - struct publickey_ctx params; - validate_publickey_params(L, ¶ms); - return userauth_publickey(L, 0, (lua_KContext) ¶ms); + publickey_ctx *params = NULL; + params = (publickey_ctx *)lua_newuserdatauv(L, sizeof(publickey_ctx), 0); + validate_publickey_params(L, params); + return userauth_publickey(L, 0, (lua_KContext) params); } static int userauth_publickey_frommemory (lua_State *L, int status, lua_KContext ctx) { @@ -561,9 +562,10 @@ static int userauth_publickey_frommemory (lua_State *L, int status, lua_KContext } static int l_userauth_publickey_frommemory (lua_State *L) { - struct publickey_ctx params; - validate_publickey_params(L, ¶ms); - return userauth_publickey_frommemory(L, 0, (lua_KContext) ¶ms); + publickey_ctx *params = NULL; + params = (publickey_ctx *)lua_newuserdatauv(L, sizeof(publickey_ctx), 0); + validate_publickey_params(L, params); + return userauth_publickey_frommemory(L, 0, (lua_KContext) params); } static int l_read_publickey (lua_State *L) {