summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-08-05 19:15:36 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-08-05 20:16:03 +0200
commit42b894f80a6d0c39bb0f7092eb204a15c22c4f38 (patch)
treedbc3671a2e36493e839eb66476636731190cdfb0 /svl
parent3914b95c4cb9aa404918161f0654b0cbf65a2d83 (diff)
ofz#2867 null deref
Change-Id: If856473683685d79d88b024f7fafa2920b403bb7 Reviewed-on: https://gerrit.libreoffice.org/40792 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svl')
-rw-r--r--svl/source/numbers/zforscan.cxx19
1 files changed, 11 insertions, 8 deletions
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index 449d6d7ad9fe..77e0f75c4afc 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -2565,17 +2565,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 < nStringsCnt &&
- sStrArray[i][0] == '0')
+ if (i < nStringsCnt)
{
- rStr += sStrArray[i];
nPos = nPos + sStrArray[i].getLength();
- nTypeArray[i] = NF_SYMBOLTYPE_EMPTY;
- nResultStringsCnt--;
nCounter++;
- i++;
+ while (i < nStringsCnt &&
+ sStrArray[i][0] == '0')
+ {
+ rStr += sStrArray[i];
+ nPos = nPos + sStrArray[i].getLength();
+ nTypeArray[i] = NF_SYMBOLTYPE_EMPTY;
+ nResultStringsCnt--;
+ nCounter++;
+ i++;
+ }
}
}
else