[Dev-luatex] Request for bugfix - user defined whatsit node

Sigitas Tolusis sigitas at vtex.lt
Fri Nov 15 12:35:14 CET 2019


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)

Regards,
Sigitas

    


More information about the dev-luatex mailing list