sc/source/ui/docshell/externalrefmgr.cxx |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

New commits:
commit 0bc13d9b3313d424fa3f7d0a0f25eb9e30f958d2
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sun Oct 17 21:12:36 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Oct 18 00:31:31 2021 +0200

    cid#1492880 avoid Improper use of negative value
    
    Change-Id: Idb64ec73e6cb7f032d61b6670ed27a2418e3a6f7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123724
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sc/source/ui/docshell/externalrefmgr.cxx 
b/sc/source/ui/docshell/externalrefmgr.cxx
index f715da330b78..b8d254f2b8be 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -1768,8 +1768,9 @@ void 
ScExternalRefManager::storeRangeNameTokens(sal_uInt16 nFileId, const OUStri
                 case svSingleRef:
                 {
                     const ScSingleRefData& rRef = *pToken->GetSingleRef();
-                    size_t nCacheId = rRef.Tab();
-                    OUString aTabName = maRefCache.getTableName(nFileId, 
nCacheId);
+                    OUString aTabName;
+                    if (SCTAB nCacheId = rRef.Tab(); nCacheId >= 0)
+                        aTabName = maRefCache.getTableName(nFileId, nCacheId);
                     ScExternalSingleRefToken aNewToken(nFileId, 
svl::SharedString(aTabName),   // string not interned
                         *pToken->GetSingleRef());
                     pNewArray->AddToken(aNewToken);
@@ -1779,8 +1780,9 @@ void 
ScExternalRefManager::storeRangeNameTokens(sal_uInt16 nFileId, const OUStri
                 case svDoubleRef:
                 {
                     const ScSingleRefData& rRef = *pToken->GetSingleRef();
-                    size_t nCacheId = rRef.Tab();
-                    OUString aTabName = maRefCache.getTableName(nFileId, 
nCacheId);
+                    OUString aTabName;
+                    if (SCTAB nCacheId = rRef.Tab(); nCacheId >= 0)
+                        aTabName = maRefCache.getTableName(nFileId, nCacheId);
                     ScExternalDoubleRefToken aNewToken(nFileId, 
svl::SharedString(aTabName),   // string not interned
                         *pToken->GetDoubleRef());
                     pNewArray->AddToken(aNewToken);

Reply via email to