summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-03-23 14:53:30 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-03-23 16:38:36 +0000
commitd57f707bbd4ca19f5c1112383f533615a7c7e8a2 (patch)
tree83b972fc5d1fc0b9d8396be9f72a1648e37cdfd5 /vcl
parent13de958fc3455934ba74eab00e03f49518567df0 (diff)
add svm cppunit test
and rely on new safe multiple check of commit 4f0b226600fdad4e5aef9313fe8754c765cfee42 Author: Caolán McNamara <caolanm@redhat.com> Date: Tue Mar 21 11:23:09 2017 +0000 check for overflow in multiply rather than trying to detect them here in advance Change-Id: I7fb9a9960e428cf00f745b6156a588e2c990c03f Reviewed-on: https://gerrit.libreoffice.org/35595 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/fail/.gitignore0
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-4.svmbin0 -> 532 bytes
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svmbin0 -> 162 bytes
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svmbin0 -> 138 bytes
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/indeterminate/.gitignore0
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/pass/.gitignore0
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/pass/leak-1.svmbin0 -> 856 bytes
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svmbin0 -> 152 bytes
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svmbin0 -> 110 bytes
-rw-r--r--vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svmbin0 -> 142 bytes
-rw-r--r--vcl/qa/cppunit/graphicfilter/filters-test.cxx3
-rw-r--r--vcl/source/gdi/svmconverter.cxx16
12 files changed, 4 insertions, 15 deletions
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/fail/.gitignore b/vcl/qa/cppunit/graphicfilter/data/svm/fail/.gitignore
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/.gitignore
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-4.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-4.svm
new file mode 100644
index 000000000000..c2f14d4a0e0b
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-4.svm
Binary files differ
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svm
new file mode 100644
index 000000000000..835e7f66839e
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svm
Binary files differ
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svm
new file mode 100644
index 000000000000..8e8439315bcd
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svm
Binary files differ
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/indeterminate/.gitignore b/vcl/qa/cppunit/graphicfilter/data/svm/indeterminate/.gitignore
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/indeterminate/.gitignore
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/.gitignore b/vcl/qa/cppunit/graphicfilter/data/svm/pass/.gitignore
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/.gitignore
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/leak-1.svm b/vcl/qa/cppunit/graphicfilter/data/svm/pass/leak-1.svm
new file mode 100644
index 000000000000..14dbea080936
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/leak-1.svm
Binary files differ
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm
new file mode 100644
index 000000000000..2fce465f7653
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm
Binary files differ
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm
new file mode 100644
index 000000000000..1b3cd14167cf
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm
Binary files differ
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm
new file mode 100644
index 000000000000..b4afeb09f2d8
--- /dev/null
+++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm
Binary files differ
diff --git a/vcl/qa/cppunit/graphicfilter/filters-test.cxx b/vcl/qa/cppunit/graphicfilter/filters-test.cxx
index ab615330005e..6c0eedffb1f7 100644
--- a/vcl/qa/cppunit/graphicfilter/filters-test.cxx
+++ b/vcl/qa/cppunit/graphicfilter/filters-test.cxx
@@ -148,6 +148,9 @@ void VclFiltersTest::testCVEs()
testDir(OUString(),
m_directories.getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/xpm/"));
+
+ testDir(OUString(),
+ m_directories.getURLFromSrc("/vcl/qa/cppunit/graphicfilter/data/svm/"));
#endif
}
diff --git a/vcl/source/gdi/svmconverter.cxx b/vcl/source/gdi/svmconverter.cxx
index 89e42dd0f94c..ea4485828081 100644
--- a/vcl/source/gdi/svmconverter.cxx
+++ b/vcl/source/gdi/svmconverter.cxx
@@ -171,21 +171,7 @@ bool ImplReadMapMode(SvStream& rIStm, MapMode& rMapMode)
return false;
}
- Fraction aX(nXNum, nXDenom);
- if (!aX.IsValid() || rtl::math::round(aX, 6) == 0.0)
- {
- SAL_WARN("vcl.gdi", "Parsing error: invalid mapmode fraction");
- return false;
- }
-
- Fraction aY(nYNum, nYDenom);
- if (!aY.IsValid() || rtl::math::round(aY, 6) == 0.0)
- {
- SAL_WARN("vcl.gdi", "Parsing error: invalid mapmode fraction");
- return false;
- }
-
- rMapMode = MapMode((MapUnit) nUnit, aOrg, aX, aY);
+ rMapMode = MapMode((MapUnit) nUnit, aOrg, Fraction(nXNum, nXDenom), Fraction(nYNum, nYDenom));
return true;
}