diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-08-02 09:39:43 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-08-11 10:48:39 +0200 |
commit | 01a652679db4592f5d45d126b81be76840fa499f (patch) | |
tree | c94d1d5750052a4ead03cb40a98a779ea552fb29 /svl/source/numbers/zforscan.cxx | |
parent | 286e84b2bf619dcdb14760d5dee1c3c532501069 (diff) |
Resolves: ofz#2833 null deref
Change-Id: I021a716aa76d430a1d3c6fac2dddec4daa01e563
Reviewed-on: https://gerrit.libreoffice.org/40669
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
(cherry picked from commit 40ca8f569c9c7f24e94af3688ff32f5679c2f8f8)
Diffstat (limited to 'svl/source/numbers/zforscan.cxx')
-rw-r--r-- | svl/source/numbers/zforscan.cxx | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx index 363a6219137e..2f08c600730d 100644 --- a/svl/source/numbers/zforscan.cxx +++ b/svl/source/numbers/zforscan.cxx @@ -2350,17 +2350,20 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString ) nTypeArray[i] = NF_SYMBOLTYPE_DIGIT; OUString& rStr = sStrArray[i]; i++; - nPos = nPos + sStrArray[i].getLength(); - nCounter++; - while (i < nAnzStrings && - sStrArray[i][0] == '0') + if (i < nAnzStrings) { - rStr += sStrArray[i]; nPos = nPos + sStrArray[i].getLength(); - nTypeArray[i] = NF_SYMBOLTYPE_EMPTY; - nAnzResStrings--; nCounter++; - i++; + while (i < nAnzStrings && + sStrArray[i][0] == '0') + { + rStr += sStrArray[i]; + nPos = nPos + sStrArray[i].getLength(); + nTypeArray[i] = NF_SYMBOLTYPE_EMPTY; + nAnzResStrings--; + nCounter++; + i++; + } } } else |