aap/librw

Engine leaks at initialization

madebr opened this issue · 0 comments

#include <rw.h>
int main() {
    rw::Engine::init();
    rw::Engine::open();
    rw::Engine::start(nullptr);
    rw::Engine::stop();
    rw::Engine::close();
    return 0;
}
==11896==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7fec06b88870 in operator new(unsigned long) (/lib64/libasan.so.5+0xf0870)
    #1 0x41984a in rw::wdgl::makeDefaultPipeline() /home/maarten/programming/openrw/cmake/external/librw/src/gl/wdgl.cpp:533
    #2 0x4183f2 in driverOpen /home/maarten/programming/openrw/cmake/external/librw/src/gl/wdgl.cpp:28
    #3 0x40b4bc in rw::PluginList::construct(void*) /home/maarten/programming/openrw/cmake/external/librw/src/plg.cpp:25
    #4 0x4075c7 in rw::Engine::start(rw::EngineStartParams*) /home/maarten/programming/openrw/cmake/external/librw/src/engine.cpp:166
    #5 0x401a8c in main /home/maarten/programming/openrw/tools/librw_tests.cpp:10
    #6 0x7fec05dbe18a in __libc_start_main (/lib64/libc.so.6+0x2318a)

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7fec06b88870 in operator new(unsigned long) (/lib64/libasan.so.5+0xf0870)
    #1 0x41b765 in rw::d3d8::makeDefaultPipeline() /home/maarten/programming/openrw/cmake/external/librw/src/d3d/d3d8.cpp:424
    #2 0x41a21c in driverOpen /home/maarten/programming/openrw/cmake/external/librw/src/d3d/d3d8.cpp:26
    #3 0x40b4bc in rw::PluginList::construct(void*) /home/maarten/programming/openrw/cmake/external/librw/src/plg.cpp:25
    #4 0x4075c7 in rw::Engine::start(rw::EngineStartParams*) /home/maarten/programming/openrw/cmake/external/librw/src/engine.cpp:166
    #5 0x401a8c in main /home/maarten/programming/openrw/tools/librw_tests.cpp:10
    #6 0x7fec05dbe18a in __libc_start_main (/lib64/libc.so.6+0x2318a)

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7fec06b88870 in operator new(unsigned long) (/lib64/libasan.so.5+0xf0870)
    #1 0x41e30b in rw::d3d9::makeDefaultPipeline() /home/maarten/programming/openrw/cmake/external/librw/src/d3d/d3d9.cpp:590
    #2 0x41c2d8 in driverOpen /home/maarten/programming/openrw/cmake/external/librw/src/d3d/d3d9.cpp:34
    #3 0x40b4bc in rw::PluginList::construct(void*) /home/maarten/programming/openrw/cmake/external/librw/src/plg.cpp:25
    #4 0x4075c7 in rw::Engine::start(rw::EngineStartParams*) /home/maarten/programming/openrw/cmake/external/librw/src/engine.cpp:166
    #5 0x401a8c in main /home/maarten/programming/openrw/tools/librw_tests.cpp:10
    #6 0x7fec05dbe18a in __libc_start_main (/lib64/libc.so.6+0x2318a)

Direct leak of 56 byte(s) in 1 object(s) allocated from:
    #0 0x7fec06b88870 in operator new(unsigned long) (/lib64/libasan.so.5+0xf0870)
    #1 0x42123f in rw::xbox::makeDefaultPipeline() /home/maarten/programming/openrw/cmake/external/librw/src/d3d/xbox.cpp:386
    #2 0x41ff60 in driverOpen /home/maarten/programming/openrw/cmake/external/librw/src/d3d/xbox.cpp:24
    #3 0x40b4bc in rw::PluginList::construct(void*) /home/maarten/programming/openrw/cmake/external/librw/src/plg.cpp:25
    #4 0x4075c7 in rw::Engine::start(rw::EngineStartParams*) /home/maarten/programming/openrw/cmake/external/librw/src/engine.cpp:166
    #5 0x401a8c in main /home/maarten/programming/openrw/tools/librw_tests.cpp:10
    #6 0x7fec05dbe18a in __libc_start_main (/lib64/libc.so.6+0x2318a)

Direct leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x7fec06b88870 in operator new(unsigned long) (/lib64/libasan.so.5+0xf0870)
    #1 0x40734e in rw::Engine::open() /home/maarten/programming/openrw/cmake/external/librw/src/engine.cpp:131
    #2 0x401a82 in main /home/maarten/programming/openrw/tools/librw_tests.cpp:9
    #3 0x7fec05dbe18a in __libc_start_main (/lib64/libc.so.6+0x2318a)

SUMMARY: AddressSanitizer: 288 byte(s) leaked in 5 allocation(s).