Hey Caolan, *,
so after we got several complains about test failure in vcl with the
same file I looked at it with memcheck and can at least produce an
output there. The test does not fail for me or at the tinderbox but we
had now 3 independet people having problems with the same file on
different systems.
The memcheck output is:
file:///home/moggi/devel/libo4/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-3.jpg,==13272==
Invalid read of size 8
==13272== at 0xF1FF117: ??? (in /usr/lib64/libjpeg.so.62.0.0)
==13272== Address 0x15779db0 is 32 bytes inside a block of size 36 alloc'd
==13272== at 0x4C2ABED: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==13272== by 0x4E5D899: rtl_allocateMemory_SYSTEM(unsigned long)
(alloc_global.cxx:269)
==13272== by 0x4E5D9A0: rtl_allocateMemory (alloc_global.cxx:302)
==13272== by 0xC9F5D18: JPEGReader::CreateBitmap(void*) (JpegReader.cxx:282)
==13272== by 0xC9F527A: CreateBitmapFromJPEGReader (JpegReader.cxx:41)
==13272== by 0xC88C596: ReadJPEG (jpegc.c:151)
==13272== by 0xC9F67E2: JPEGReader::Read(Graphic&) (JpegReader.cxx:428)
==13272== by 0xC9F50AB: ImportJPEG(SvStream&, Graphic&, void*, int)
(jpeg.cxx:50)
==13272== by 0xC9CD5C1: GraphicFilter::ImportGraphic(Graphic&,
String const&, SvStream&, unsigned short, unsigned short*, unsigned
int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>*,
WMF_EXTERNALHEADER*) (graphicfilter.cxx:1498)
==13272== by 0xC9CCD3B: GraphicFilter::ImportGraphic(Graphic&,
String const&, SvStream&, unsigned short, unsigned short*, unsigned
int, WMF_EXTERNALHEADER*) (graphicfilter.cxx:1327)
==13272== by 0xB38AB00: VclFiltersTest::load(rtl::OUString const&,
rtl::OUString const&, rtl::OUString const&, unsigned int, unsigned
int, unsigned int) (filters-test.cxx:53)
==13272== by 0xC413C0A:
test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString
const&, rtl::OUString const&, rtl::OUString const&, unsigned int,
unsigned int, unsigned int) (filters-test.cxx:113)
==13272== by 0xC41463E: test::FiltersTest::testDir(rtl::OUString
const&, rtl::OUString const&, rtl::OUString const&, unsigned int,
unsigned int, unsigned int) (filters-test.cxx:137)
==13272== by 0xB38AC1F: VclFiltersTest::testCVEs() (filters-test.cxx:61)
==13272== by 0xB38CBB3:
CppUnit::TestCaller<VclFiltersTest>::runTest() (TestCaller.h:166)
==13272== by 0x516529B:
CppUnit::TestCaseMethodFunctor::operator()() const (TestCase.cpp:32)
==13272== by 0x7AE29DE: (anonymous
namespace)::Prot::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (unobootstrapprotector.cxx:88)
==13272== by 0x515D3D6:
CppUnit::ProtectorChain::ProtectFunctor::operator()() const
(ProtectorChain.cpp:20)
==13272== by 0x6799481: (anonymous
namespace)::Prot::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (unoexceptionprotector.cxx:64)
==13272== by 0x515D3D6:
CppUnit::ProtectorChain::ProtectFunctor::operator()() const
(ProtectorChain.cpp:20)
==13272== by 0x514ED4B:
CppUnit::DefaultProtector::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (DefaultProtector.cpp:15)
==13272== by 0x515D3D6:
CppUnit::ProtectorChain::ProtectFunctor::operator()() const
(ProtectorChain.cpp:20)
==13272== by 0x515D26B:
CppUnit::ProtectorChain::protect(CppUnit::Functor const&,
CppUnit::ProtectorContext const&) (ProtectorChain.cpp:77)
==13272== by 0x5174481:
CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*,
std::string const&) (TestResult.cpp:181)
==13272== by 0x5164D6B:
CppUnit::TestCase::run(CppUnit::TestResult*) (TestCase.cpp:92)
==13272== by 0x5165B07:
CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*)
(TestComposite.cpp:64)
==13272== by 0x5165991:
CppUnit::TestComposite::run(CppUnit::TestResult*)
(TestComposite.cpp:23)
==13272== by 0x5165B07:
CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*)
(TestComposite.cpp:64)
==13272== by 0x5165991:
CppUnit::TestComposite::run(CppUnit::TestResult*)
(TestComposite.cpp:23)
==13272== by 0x517B66D:
CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*)
(TestRunner.cpp:47)
==13272== by 0x517418B:
CppUnit::TestResult::runTest(CppUnit::Test*) (TestResult.cpp:148)
==13272== by 0x517B8CB:
CppUnit::TestRunner::run(CppUnit::TestResult&, std::string const&)
(TestRunner.cpp:96)
==13272== by 0x403E5E: (anonymous
namespace)::ProtectedFixtureFunctor::run() const
(cppunittester.cxx:151)
==13272== by 0x4044F0: sal_main() (cppunittester.cxx:243)
==13272== by 0x404138: main (cppunittester.cxx:167)
I can't see anything obviously wrong there but maybe you see something.
Regards,
MArkus
Context
- several reports of a problem with jpeg test in vcl · Markus Mohrhard
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.