[Libreoffice-commits] core.git: Branch 'libreoffice-5-3' - sc/qa svl/source

2017-08-07 Thread Caolán McNamara
 sc/qa/unit/data/slk/pass/numfmt-2.slk |1 +
 svl/source/numbers/zforscan.cxx   |   19 +++
 2 files changed, 12 insertions(+), 8 deletions(-)

New commits:
commit 12569ca783263be8797ff19b532a9f03c34b4c2a
Author: Caolán McNamara 
Date:   Sat Aug 5 19:15:36 2017 +0100

ofz#2867 null deref

Reviewed-on: https://gerrit.libreoffice.org/40792
Reviewed-by: Caolán McNamara 
Tested-by: Caolán McNamara 
(cherry picked from commit 42b894f80a6d0c39bb0f7092eb204a15c22c4f38)

Change-Id: If856473683685d79d88b024f7fafa2920b403bb7
Reviewed-on: https://gerrit.libreoffice.org/40794
Reviewed-by: Michael Stahl 
Tested-by: Jenkins 

diff --git a/sc/qa/unit/data/slk/pass/numfmt-2.slk 
b/sc/qa/unit/data/slk/pass/numfmt-2.slk
new file mode 100644
index ..5989cdc3e64e
--- /dev/null
+++ b/sc/qa/unit/data/slk/pass/numfmt-2.slk
@@ -0,0 +1 @@
+P;Pÿ   ÿ  ÿ
ÿ  ÿ  dÿ Sÿ0
\ No newline at end of file
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index 2f08c600730d..4098fc9e85b3 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -2503,17 +2503,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
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-3' - sc/qa svl/source

2017-08-07 Thread Caolán McNamara
 sc/qa/unit/data/slk/pass/numfmt.slk |2 ++
 svl/source/numbers/zforscan.cxx |   19 +++
 2 files changed, 13 insertions(+), 8 deletions(-)

New commits:
commit 40ca8f569c9c7f24e94af3688ff32f5679c2f8f8
Author: Caolán McNamara 
Date:   Wed Aug 2 09:39:43 2017 +0100

Resolves: ofz#2833 null deref

Change-Id: I021a716aa76d430a1d3c6fac2dddec4daa01e563
Reviewed-on: https://gerrit.libreoffice.org/40669
Tested-by: Jenkins 
Reviewed-by: Michael Stahl 

diff --git a/sc/qa/unit/data/slk/pass/numfmt.slk 
b/sc/qa/unit/data/slk/pass/numfmt.slk
new file mode 100644
index ..85ea7b65c8f2
--- /dev/null
+++ b/sc/qa/unit/data/slk/pass/numfmt.slk
@@ -0,0 +1,2 @@
+
+P;Pÿ   s  ÿ0   
   0
\ No newline at end of file
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
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits