{"push_id":769107806,"size":1,"distinct_size":1,"ref":"refs/heads/libreoffice-4-4","head":"b0b558e2ef87a102582ea7fd5df73c9cee460b3b","before":"bd409ff7c3ce8fa6fc890d91a30fc0996fe4651b","commits":[{"sha":"b0b558e2ef87a102582ea7fd5df73c9cee460b3b","author":{"email":"05c31e1673f7a15a4f0f5429fb1e32d6e84bebe3@redhat.com","name":"Stephan Bergmann"},"message":"Handle GetBaseCp overflow\n\n...as found by UBSan in CppunitTest_sw_filters_test (see below); note the TODOs\nhow best to report the errors up the call stack.\n\n> Testing file:///.../sw/qa/core/data/ww6/pass/crash-3.doc:\n> sw/source/filter/ww8/ww8scan.cxx:5240:63: runtime error: signed integer overflow: 1766665948 + 1768712052 cannot be represented in type 'int'\n>  WW8Fib::GetBaseCp(ManTypes) const sw/source/filter/ww8/ww8scan.cxx:5240:63\n>  SwWW8ImplReader::Read_GrafLayer(long) sw/source/filter/ww8/ww8graf.cxx:2393:18\n>  SwWW8ImplReader::ReadChar(long, long) sw/source/filter/ww8/ww8par.cxx:3630:17\n>  SwWW8ImplReader::ReadChars(int&, int, long, long) sw/source/filter/ww8/ww8par.cxx:3432:27\n>  SwWW8ImplReader::ReadText(int, int, ManTypes) sw/source/filter/ww8/ww8par.cxx:3970:22\n>  SwWW8ImplReader::CoreLoad(WW8Glossary*, SwPosition const&) sw/source/filter/ww8/ww8par.cxx:5169:9\n>  SwWW8ImplReader::LoadThroughDecryption(SwPaM&, WW8Glossary*) sw/source/filter/ww8/ww8par.cxx:5767:19\n>  SwWW8ImplReader::LoadDoc(SwPaM&, WW8Glossary*) sw/source/filter/ww8/ww8par.cxx:6039:19\n>  WW8Reader::Read(SwDoc&, rtl::OUString const&, SwPaM&, rtl::OUString const&) sw/source/filter/ww8/ww8par.cxx:6157:20\n>  SwReader::Read(Reader const&) sw/source/filter/basflt/shellio.cxx:175:18\n>  SwDocShell::ConvertFrom(SfxMedium&) sw/source/uibase/app/docsh.cxx:258:22\n>  SfxObjectShell::DoLoad(SfxMedium*) sfx2/source/doc/objstor.cxx:790:23\n>  SwFiltersTest::filter(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) sw/qa/core/filters-test.cxx:112:20\n>  SwFiltersTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) sw/qa/core/filters-test.cxx:71:12\n>  test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) unotest/source/cpp/filters-test.cxx:129:20\n>  test::FiltersTest::testDir(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) unotest/source/cpp/filters-test.cxx:154:5\n>  SwFiltersTest::testCVEs() sw/qa/core/filters-test.cxx:154:5\n\nReviewed-on: https://gerrit.libreoffice.org/17965\nReviewed-by: Caolán McNamara <caolanm@redhat.com>\nTested-by: Caolán McNamara <caolanm@redhat.com>\n(cherry picked from commit d281b4607638231b8a3716bdc80846c24ce55cc7)\n\nChange-Id: I0b14f5c1e025565eb131e64590b7d5ff0135e767\nReviewed-on: https://gerrit.libreoffice.org/17970\nReviewed-by: David Tardon <dtardon@redhat.com>\nTested-by: David Tardon <dtardon@redhat.com>","distinct":true,"url":"https://api.github.com/repos/LibreOffice/core/commits/b0b558e2ef87a102582ea7fd5df73c9cee460b3b"}]}