[Webkit-unassigned] [Bug 188799] WeakPtr breaks vtables when upcasting to base classes

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 22 14:47:10 PDT 2018


--- Comment #6 from Geoffrey Garen <ggaren at apple.com> ---
> It occurs any time where
> reinterpret_cast<Base>(derived*) != static_cast<Base>(derived*); so any time
> you have a "inherit from abstract 'client' base class", you'll hit this.

I think the cases that trigger this pointer fixup issue are:

(a) Base class lacks vtable; subclass has vtable;

(b) Subclass inherits from multiple base classes.

A subclass that inherits from exactly one abstract base class is pointer equal to its abstract base class -- all of its extra data members just get appended to the end.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180822/2f99aedd/attachment.html>

More information about the webkit-unassigned mailing list