From 0ac1e2ad19d4fdb46dcf54f67db2df081f4675bb Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 2 Aug 2017 09:39:43 +0100 Subject: Resolves: ofz#2833 null deref MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I021a716aa76d430a1d3c6fac2dddec4daa01e563 Reviewed-on: https://gerrit.libreoffice.org/40667 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- svl/source/numbers/zforscan.cxx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'svl') diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx index 13c0362e873f..5fe02e7f54c3 100644 --- a/svl/source/numbers/zforscan.cxx +++ b/svl/source/numbers/zforscan.cxx @@ -2412,17 +2412,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 -- cgit