[Tarantool-patches] [PATCH luajit 14/19] Fix debug.getinfo() argument check.

Sergey Bronnikov sergeyb at tarantool.org
Thu Aug 17 11:29:53 MSK 2023


Hi, Sergey!


LGTM

On 8/9/23 18:36, Sergey Kaplun wrote:
> From: Mike Pall <mike>
>
> Thanks to Sergey Ostanevich.
>
> (cherry-picked from commit 0cd643d7cfc21bc8b6153d42b86a71d557270988)
>
> This patch just reverts the commit
> 48f463e613db6264bfa9acb581fe1ca702ea38eb ("luajit: fox for
> debug.getinfo(1,'>S')") and applies the one from the main repo for the
> consistency with the upstream.
> ---
>   src/lj_debug.c | 16 ++++++----------
>   1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/src/lj_debug.c b/src/lj_debug.c
> index 654dc913..c4edcabb 100644
> --- a/src/lj_debug.c
> +++ b/src/lj_debug.c
> @@ -431,16 +431,12 @@ int lj_debug_getinfo(lua_State *L, const char *what, lj_Debug *ar, int ext)
>     TValue *frame = NULL;
>     TValue *nextframe = NULL;
>     GCfunc *fn;
> -  if (*what == '>') { /* we have to have an extra arg on stack */
> -    if (lua_gettop(L) > 2) {
> -      TValue *func = L->top - 1;
> -      api_check(L, tvisfunc(func));
> -      fn = funcV(func);
> -      L->top--;
> -      what++;
> -    } else { /* need better error to display? */
> -      return 0;
> -    }
> +  if (*what == '>') {
> +    TValue *func = L->top - 1;
> +    if (!tvisfunc(func)) return 0;
> +    fn = funcV(func);
> +    L->top--;
> +    what++;
>     } else {
>       uint32_t offset = (uint32_t)ar->i_ci & 0xffff;
>       uint32_t size = (uint32_t)ar->i_ci >> 16;


More information about the Tarantool-patches mailing list