• Stephan Bergmann's avatar
    Avoid use-after-free · 12e322e2
    Stephan Bergmann yazdı
    ...as seen in UITest_calc_demo:
    
    > ==1010== Invalid read of size 4
    > ==1010==    at 0x58DA550: __pthread_mutex_unlock_usercnt (/usr/src/debug/glibc-2.24-33-ge9e69e4/nptl/pthread_mutex_unlock.c:39)
    > ==1010==    by 0x58DA550: pthread_mutex_unlock (/usr/src/debug/glibc-2.24-33-ge9e69e4/nptl/pthread_mutex_unlock.c:324)
    > ==1010==    by 0x1085FB42: __gthread_mutex_unlock(pthread_mutex_t*) (/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/x86_64-redhat-linux/bits/gthr-default.h:778)
    > ==1010==    by 0x10861414: std::mutex::unlock() (/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/std_mutex.h:121)
    > ==1010==    by 0x10861901: std::unique_lock<std::mutex>::unlock() (/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/std_mutex.h:323)
    > ==1010==    by 0x108604C6: std::unique_lock<std::mutex>::~unique_lock() (/usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/std_mutex.h:232)
    > ==1010==    by 0x1085FA5E: (anonymous namespace)::ExecuteWrapper::ExecuteActionHdl(Timer*) (/vcl/source/uitest/uno/uiobject_uno.cxx:103)
    > ==1010==    by 0x1085EDE7: (anonymous namespace)::ExecuteWrapper::LinkStubExecuteActionHdl(void*, Timer*) (/vcl/source/uitest/uno/uiobject_uno.cxx:85)
    > ==1010==    by 0x10715647: Link<Timer*, void>::Call(Timer*) const (/include/tools/link.hxx:84)
    > ==1010==    by 0x107154A6: Timer::Invoke() (/vcl/source/app/timer.cxx:89)
    > ==1010==    by 0x106D3841: ImplSchedulerData::Invoke() (/vcl/source/app/scheduler.cxx:46)
    > ==1010==    by 0x106D3D28: Scheduler::ProcessTaskScheduling(bool) (/vcl/source/app/scheduler.cxx:159)
    > ==1010==    by 0x107040EF: ImplYield(bool, bool, unsigned long) (/vcl/source/app/svapp.cxx:508)
    > ==1010==    by 0x106FE9A7: Application::Yield() (/vcl/source/app/svapp.cxx:558)
    > ==1010==    by 0x106FE92A: Application::Execute() (/vcl/source/app/svapp.cxx:458)
    > ==1010==    by 0x513F498: desktop::Desktop::DoExecute() (/desktop/source/app/app.cxx:1354)
    > ==1010==    by 0x5141660: desktop::Desktop::Main() (/desktop/source/app/app.cxx:1698)
    > ==1010==    by 0x10711884: ImplSVMain() (/vcl/source/app/svmain.cxx:192)
    > ==1010==    by 0x10713197: SVMain() (/vcl/source/app/svmain.cxx:230)
    > ==1010==    by 0x51AEDF7: soffice_main (/desktop/source/app/sofficemain.cxx:166)
    > ==1010==    by 0x40091C: sal_main (/desktop/source/app/main.c:48)
    > ==1010==    by 0x4008F6: main (/desktop/source/app/main.c:47)
    > ==1010==  Address 0x2ccca4e8 is 72 bytes inside a block of size 96 free'd
    > ==1010==    at 0x4C2F21A: operator delete(void*) (/builddir/build/BUILD/valgrind-3.12.0/coregrind/m_replacemalloc/vg_replace_malloc.c:576)
    > ==1010==    by 0x1085FA55: (anonymous namespace)::ExecuteWrapper::ExecuteActionHdl(Timer*) (/vcl/source/uitest/uno/uiobject_uno.cxx:102)
    > ==1010==    by 0x1085EDE7: (anonymous namespace)::ExecuteWrapper::LinkStubExecuteActionHdl(void*, Timer*) (/vcl/source/uitest/uno/uiobject_uno.cxx:85)
    > ==1010==    by 0x10715647: Link<Timer*, void>::Call(Timer*) const (/include/tools/link.hxx:84)
    > ==1010==    by 0x107154A6: Timer::Invoke() (/vcl/source/app/timer.cxx:89)
    > ==1010==    by 0x106D3841: ImplSchedulerData::Invoke() (/vcl/source/app/scheduler.cxx:46)
    > ==1010==    by 0x106D3D28: Scheduler::ProcessTaskScheduling(bool) (/vcl/source/app/scheduler.cxx:159)
    > ==1010==    by 0x107040EF: ImplYield(bool, bool, unsigned long) (/vcl/source/app/svapp.cxx:508)
    > ==1010==    by 0x106FE9A7: Application::Yield() (/vcl/source/app/svapp.cxx:558)
    > ==1010==    by 0x106FE92A: Application::Execute() (/vcl/source/app/svapp.cxx:458)
    > ==1010==    by 0x513F498: desktop::Desktop::DoExecute() (/desktop/source/app/app.cxx:1354)
    > ==1010==    by 0x5141660: desktop::Desktop::Main() (/desktop/source/app/app.cxx:1698)
    > ==1010==    by 0x10711884: ImplSVMain() (/vcl/source/app/svmain.cxx:192)
    > ==1010==    by 0x10713197: SVMain() (/vcl/source/app/svmain.cxx:230)
    > ==1010==    by 0x51AEDF7: soffice_main (/desktop/source/app/sofficemain.cxx:166)
    > ==1010==    by 0x40091C: sal_main (/desktop/source/app/main.c:48)
    > ==1010==    by 0x4008F6: main (/desktop/source/app/main.c:47)
    
    Change-Id: Ie95bf07f2fcd9420c9c24e6829272430895957a6
    12e322e2
Adı
Son kayıt (commit)
Son güncelleme
..
app Loading commit data...
bitmap Loading commit data...
components Loading commit data...
control Loading commit data...
edit Loading commit data...
filter Loading commit data...
font Loading commit data...
fontsubset Loading commit data...
gdi Loading commit data...
helper Loading commit data...
image Loading commit data...
opengl Loading commit data...
outdev Loading commit data...
salmain Loading commit data...
src Loading commit data...
uipreviewer Loading commit data...
uitest Loading commit data...
window Loading commit data...