Root cause (credit Richard Biener)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115432

struct file_output_stream
{

    union
    {
        void *voidp;
        int fd;
    } data;

    const output_stream_vtbl* vtbl;
};

struct output_stream
{
    void* data;
    const output_stream_vtbl* vtbl;
};

those are two unrelated types.  Doing

 ((file_output_stream *)p)->vtbl = x;
 ... = ((output_stream *)p)->vtbl;

is invoking undefined behavior (unless -fno-strict-aliasing).


** Bug watch added: GCC Bugzilla #115432
   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115432

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2068731

Title:
  yadifad crashes on start up

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/yadifa/+bug/2068731/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to