diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-23 14:53:30 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-03-23 16:38:36 +0000 |
commit | d57f707bbd4ca19f5c1112383f533615a7c7e8a2 (patch) | |
tree | 83b972fc5d1fc0b9d8396be9f72a1648e37cdfd5 /vcl | |
parent | 13de958fc3455934ba74eab00e03f49518567df0 (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/.gitignore | 0 | ||||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-4.svm | bin | 0 -> 532 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svm | bin | 0 -> 162 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svm | bin | 0 -> 138 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/indeterminate/.gitignore | 0 | ||||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/pass/.gitignore | 0 | ||||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/pass/leak-1.svm | bin | 0 -> 856 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm | bin | 0 -> 152 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm | bin | 0 -> 110 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm | bin | 0 -> 142 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/filters-test.cxx | 3 | ||||
-rw-r--r-- | vcl/source/gdi/svmconverter.cxx | 16 |
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 Binary files differnew file mode 100644 index 000000000000..c2f14d4a0e0b --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-4.svm diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svm Binary files differnew file mode 100644 index 000000000000..835e7f66839e --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-5.svm diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svm Binary files differnew file mode 100644 index 000000000000..8e8439315bcd --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-6.svm 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 Binary files differnew file mode 100644 index 000000000000..14dbea080936 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/leak-1.svm diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm Binary files differnew file mode 100644 index 000000000000..2fce465f7653 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm Binary files differnew file mode 100644 index 000000000000..1b3cd14167cf --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm Binary files differnew file mode 100644 index 000000000000..b4afeb09f2d8 --- /dev/null +++ b/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm 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; } |