Accept callback_free(0) instead of bugchecking
callback_free scans the thunk table for the supplied pointer and __fastfails when nothing matches, so callback_free(VAProc:0) -- the natural thing to write after a failed callback_alloc -- brought the machine down. pawn/test.p escapes it only because main() bails out when callback_alloc fails and a failed load never invokes unload. Treat 0 as a no-op. Every other bad pointer, including a double free or a slot owned by another VM, remains a module bug and keeps its __fastfail: there is no way to report it that a correctly written module would ever see.
N
namazso committed
155245f5a2a75b17967e6f8af21442b52442a112
Parent: f728aa7