vcl/source/window/toolbox.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
New commits: commit 2c033abfb010201c453f84373969f0a3b746be7b Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Mar 26 09:25:20 2020 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Mar 26 11:12:12 2020 +0100 ubsan with negative long width divided by size_t vcl/source/window/toolbox.cxx:3565:62: runtime error: signed integer overflow: 150 + 9223372036854775679 cannot be represented in type 'long' > #0 0x2b9111e92f60 in ToolBox::Resize() vcl/source/window/toolbox.cxx:3565:62 > #1 0x2b9111770f39 in vcl::Window::ImplCallResize() vcl/source/window/event.cxx:533:5 > #2 0x2b9111fc9aff in vcl::Window::ImplPosSizeWindow(long, long, long, long, PosSizeFlags) vcl/source/window/window.cxx:1631:17 Change-Id: I5b74e8eaa65617cfa74b735491602b1c240dff62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91089 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index deece3481460..c7ba32cc9527 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -3551,9 +3551,10 @@ void ToolBox::Resize() aBounds.Union( rItem.maRect ); } - long nOptimalWidth = aBounds.GetWidth(); - long nDiff = aSize.Width() - nOptimalWidth; - nDiff /= aExpandables.size(); + auto nOptimalWidth = aBounds.GetWidth(); + auto nDiff = aSize.Width() - nOptimalWidth; + decltype(nDiff) nExpandablesSize = aExpandables.size(); + nDiff /= nExpandablesSize; //share out the diff from optimal to real across //expandable entries _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits