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

Reply via email to