crash on deref null parent on attempting to find labelcp-23.05.10-1
commitc8fa7c01aa8a3e263c07b5cf4f72ace70f1d9308
authorCaolán McNamara <caolan.mcnamara@collabora.com>
Tue, 26 Mar 2024 15:38:51 +0000 (26 15:38 +0000)
committerCaolán McNamara <caolan.mcnamara@collabora.com>
Tue, 26 Mar 2024 16:45:00 +0000 (26 17:45 +0100)
treee91d7972902504c3870ffd3c47f87c557d5d974f
parent8a2b065d2a414ca90b3412c803533c8fd0109b30
crash on deref null parent on attempting to find label

ImplFindDlgCtrlWindow always calls ImplGetChildWindow with first arg

which does

pParent = ImplGetTopParentOfTabHierarchy( pParent );
vcl::Window* pWindow = ImplGetSubChildWindow( pParent, n, nIndex );

ImplGetSubChildWindow always derefs its first arg and
ImplGetTopParentOfTabHierarchy only returns null if its input was null
so ImplFindDlgCtrlWindow shouldn't be called with null

program/libmergedlo.so(_ZNK3vcl6Window13ImplGetWindowEv+0x4)[0x7513e2a40e54]
program/libmergedlo.so(+0x33ba57c)[0x7513e29ba57c]
program/libmergedlo.so(+0x33ba97c)[0x7513e29ba97c]
program/libmergedlo.so(+0x33baf64)[0x7513e29baf64]
program/libmergedlo.so(+0x3378d47)[0x7513e2978d47]
program/libmergedlo.so(_ZNK3vcl6Window30GetAccessibleRelationLabeledByEv+0x19c)[0x7513e297866c]
program/libmergedlo.so(_ZN3vcl6Window18DumpAsPropertyTreeERN5tools10JsonWriterE+0x241)[0x7513e2a4b301]
program/libmergedlo.so(_ZN6Dialog18DumpAsPropertyTreeERN5tools10JsonWriterE+0x2e)[0x7513e29b217e]
program/libmergedlo.so(_ZN3vcl6Window18DumpAsPropertyTreeERN5tools10JsonWriterE+0x182)[0x7513e2a4b242]
program/libmergedlo.so(_ZN3vcl3lok9dumpStateERN3rtl13OStringBufferE+0xc0)[0x7513e2d6ee80]

Change-Id: I732550bd67c3af38627849a7d96d8ee6140008b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165348
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
vcl/source/window/legacyaccessibility.cxx