On Tue, Dec 3, 2019 at 6:16 PM Hans Hagen <j.hagen@xs4all.nl> wrote:
On 11/15/2019 12:35 PM, Sigitas Tolusis wrote:
> Noticed two bugs.
>
> 1. Mised case for user defined whatsit node type 108 (‘l’ Lua value)
>      in function check_node_wrapup_core (texnodes.c:2482).
>      Possible fix: just add the same as cases for types ’s’ and ‘d’.
>      Insert line at texnodes.c:2500
>                  case ‘l':
>
> 2. In function flush_node_wrapup_core (texnodes.c:2201) for user defined
>      whatsit node type ‘l’ we have: free_user_lua(user_node_value(p)).
>      But in luanode.c:409 free_user_lua is defined as:
>
> void free_user_lua(pointer p)
> {
>      if (user_node_value(p) != 0) {
>          luaL_unref(Luas, LUA_REGISTRYINDEX, user_node_value(p));
>      }
> }
>
> So we have two times user_node_value and it generates segmentation fault.
> Possible fix: free_user_lua(p); // (texnodes.c:2223)
fixed in next luatex beta buit best test then

Hans

Done in rev. 7233 . 

--
luigi