Null pointer in __vptr

frame frame86 at live.com
Fri Nov 19 18:04:17 UTC 2021


On Friday, 19 November 2021 at 15:46:41 UTC, Adam D Ruppe wrote:

> The `destroy` function (as well as other class destruction) 
> will null out the whole vtable to help make use-after-free an 
> obvious error. Possible that happened to you.

So, a partial nulled table shouldn't exist, right? like this:

__vptr[0]: address
__vptr[1]: 0000000
__vptr[2]: address
__vptr[3]: address
__vptr[4]: address
__vptr[5]: address
...

Because 0 should point to the object instance and next offsets 
are pointers to the member functions, correct?


More information about the Digitalmars-d-learn mailing list