diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2022-06-01 23:35:27 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2022-06-02 08:07:08 +0200 |
commit | c387bc7dd1762f807128ecdbf79ec63884aa33b6 (patch) | |
tree | 33b9fa4401570c65a5639fcc81d09c91fbcf132d /basic | |
parent | f3b5cb5a17a451c9e7d9b47b5e8854c5e126801f (diff) |
The elements of XInvocation::invoke aOutParamIndex are non-negative
..so use o3tl::make_unsigned when comparing them against an expression of
unsigned integer type, instead of casting that expression to a signed type
Change-Id: I4fc0bd4447f55d5fd9bf893a4b22d6d2c2cfe3d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135280
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'basic')
-rw-r--r-- | basic/source/classes/sbunoobj.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx index ad4aefb52f72..06b67ba8bd86 100644 --- a/basic/source/classes/sbunoobj.cxx +++ b/basic/source/classes/sbunoobj.cxx @@ -20,6 +20,7 @@ #include <sal/config.h> #include <o3tl/any.hxx> +#include <o3tl/safeint.hxx> #include <utility> #include <vcl/svapp.hxx> #include <vcl/errcode.hxx> @@ -1534,7 +1535,7 @@ static Any invokeAutomationMethod( const OUString& Name, Sequence< Any > const & for( sal_uInt32 j = 0 ; j < nLen ; j++ ) { sal_Int16 iTarget = pIndices[ j ]; - if( iTarget >= static_cast<sal_Int16>(nParamCount) ) + if( o3tl::make_unsigned(iTarget) >= nParamCount ) break; unoToSbxValue(pParams->Get(j + 1), pNewValues[j]); } |