ErrCode allocation in get_table_*_vvect procedures
ErrCode is not allocated by the caller in get_table_real_vvect but instead is allocated to the appropriate size in get_top_real_vvect (and similarly for other get_table_*_vvect procedures).
However, if a global vector is requested but doesn't exist (so valid_args is false) then ErrCode is set in get_table_real_vvect without ever being allocated. I'm not 100% sure how to handle this but I think ErrCode should be allocated to be zero size (as happens if a non-existent vector member of a table is requested).
What do you think?