vcl/source/window/accessibility.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
New commits: commit e0a5f0738b76dd06e9d258cfa674de86f34bd6ec Author: Stephan Bergmann <[email protected]> AuthorDate: Fri May 24 09:43:39 2019 +0200 Commit: Stephan Bergmann <[email protected]> CommitDate: Fri May 24 15:08:29 2019 +0200 A CALCINPUTLINE is not an Edit Under ASan, clicking into the Calc "input line" control (in the toolbars) caused > ==26138==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x616000107a4c at pc 0x7fc890d792cb bp 0x7fff4cab6d90 sp 0x7fff4cab6d88 > READ of size 1 at 0x616000107a4c thread T0 > #0 in Edit::IsPassword() const at include/vcl/edit.hxx:285:38 > #1 in vcl::Window::getDefaultAccessibleRole() const at vcl/source/window/accessibility.cxx:327:73 [...] > 0x616000107a4c is located 116 bytes to the right of 600-byte region [0x616000107780,0x6160001079d8) > allocated by thread T0 here: > #0 in operator new(unsigned long) at /data/sbergman/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cc:105:3 > #1 in VclPtr<ScInputBarGroup> VclPtr<ScInputBarGroup>::Create<vcl::Window*&, ScTabViewShell*&>(vcl::Window*&, ScTabViewShell*&) at include/vcl/vclptr.hxx:129:42 > #2 in lcl_chooseRuntimeImpl(vcl::Window*, SfxBindings const*) at sc/source/ui/app/inputwin.cxx:157:12 This looks like it got broken with cca4d9ab39499562614f0f778a2fffe5a40fde88 "convert WB_PASSWORD to a bool field on Edit" assuming that a Window of type CALCINPUTLINE derives from Edit, even though ScInputBarGroup does not. Change-Id: I1457c6cd07477ee0fa868c3949105aa96116a366 Reviewed-on: https://gerrit.libreoffice.org/72893 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <[email protected]> diff --git a/vcl/source/window/accessibility.cxx b/vcl/source/window/accessibility.cxx index 1b858386eb06..ef3bf456e7a9 100644 --- a/vcl/source/window/accessibility.cxx +++ b/vcl/source/window/accessibility.cxx @@ -323,9 +323,10 @@ sal_uInt16 Window::getDefaultAccessibleRole() const case WindowType::MULTILINEEDIT: nRole = accessibility::AccessibleRole::SCROLL_PANE; break; case WindowType::PATTERNFIELD: - case WindowType::CALCINPUTLINE: case WindowType::EDIT: nRole = static_cast<Edit const *>(this)->IsPassword() ? accessibility::AccessibleRole::PASSWORD_TEXT : accessibility::AccessibleRole::TEXT; break; + case WindowType::CALCINPUTLINE: nRole = accessibility::AccessibleRole::TEXT; break; + case WindowType::PATTERNBOX: case WindowType::NUMERICBOX: case WindowType::METRICBOX: _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
