• meir's avatar
    Protect any table which is reachable from globals and added globals white list. · efa162bc
    meir authored
    The white list is done by setting a metatable on the global table before initializing
    any library. The metatable set the `__newindex` field to a function that check
    the white list before adding the field to the table. Fields which is not on the
    white list are simply ignored.
    
    After initialization phase is done we protect the global table and each table
    that might be reachable from the global table. For each table we also protect
    the table metatable if exists.
    efa162bc
eval.c 58.2 KB