diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-08-05 19:15:36 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-08-05 20:16:03 +0200 |
commit | 42b894f80a6d0c39bb0f7092eb204a15c22c4f38 (patch) | |
tree | dbc3671a2e36493e839eb66476636731190cdfb0 /svl | |
parent | 3914b95c4cb9aa404918161f0654b0cbf65a2d83 (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.cxx | 19 |
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 |