Skip to content

qt: compositor: fix leak on compositor failure

When a compositor was allocated but its initialization failed, the pointer would not be returned by the vlc::CompositorFactory::createCompositor function and the pointer was leaked.

Fix the following leak:

Indirect leak of 120 byte(s) in 1 object(s) allocated from:
    #0 0x7f806a2e2002 in operator new(unsigned long) /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_new_delete.cpp:95
    #1 0x7f80550b07b3 in instanciateCompositor<vlc::CompositorX11> ../../../../modules/gui/qt/maininterface/compositor.cpp:45
    #2 0x7f80550b59e8 in vlc::CompositorFactory::createCompositor() ../../../../modules/gui/qt/maininterface/compositor.cpp:95
    #3 0x7f80546daafa in Thread ../../../../modules/gui/qt/qt.cpp:822
    #4 0x7f80688aa9ea  (/usr/lib/libc.so.6+0x8c9ea) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)

Merge request reports