[Libreoffice-commits] .: 3 commits - editeng/source sc/qa svtools/qa sw/qa test/inc test/source writerfilter/qa
Caolán McNamara
caolan at kemper.freedesktop.org
Fri Sep 30 09:03:08 PDT 2011
editeng/source/outliner/paralist.cxx | 12 --
editeng/source/outliner/paralist.hxx | 2
sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 |binary
sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 |binary
sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 |binary
svtools/qa/cppunit/data/emf/fail/CVE-2004-0209-1.emf |binary
svtools/qa/cppunit/data/emf/fail/CVE-2008-1083-1.emf |binary
svtools/qa/cppunit/data/emf/fail/CVE-2009-1217-1.emf |binary
svtools/qa/cppunit/data/emf/pass/CVE-2008-1087-1.emf |binary
svtools/qa/cppunit/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 |binary
svtools/qa/cppunit/data/wmf/fail/CVE-2005-2124-1.wmf |binary
svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-1.wmf |binary
svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-2.wmf |binary
svtools/qa/cppunit/data/wmf/pass/CVE-2005-2123-1.wmf |binary
svtools/qa/cppunit/data/wmf/pass/CVE-2006-4071-1.wmf |binary
svtools/qa/cppunit/data/wmf/pass/CVE-2007-1090-1.wmf |binary
svtools/qa/cppunit/data/wmf/pass/CVE-2007-1238-1.wmf |binary
svtools/qa/cppunit/data/wmf/pass/CVE-2007-1245-1.wmf |binary
sw/qa/core/data/ww8/fail/CVE-2005-0941-1.doc |binary
sw/qa/core/data/ww8/fail/CVE-2006-2389-1.doc |binary
sw/qa/core/data/ww8/fail/CVE-2008-0320-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2006-3493-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2006-6561-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2006-6628-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2007-1347-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2008-2752-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2008-2752-2.doc |binary
sw/qa/core/data/ww8/pass/CVE-2008-2752-3.doc |binary
sw/qa/core/data/ww8/pass/CVE-2008-2752-4.doc |binary
sw/qa/core/data/ww8/pass/CVE-2008-4841-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2009-0200-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2009-0201-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2009-0259-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2009-3301-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2009-3302-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2009-3302-2.doc |binary
sw/qa/core/data/ww8/pass/CVE-2010-3200-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2010-3453-1.doc |binary
sw/qa/core/data/ww8/pass/CVE-2010-3454-1.doc |binary
sw/qa/core/data/xml/fail/CVE-2006-3117-1.sxw |binary
test/inc/test/filters-test.hxx | 8 +
test/source/filters-test.cxx | 53 +++++++++-
writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2005-2971-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2010-3451-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2964.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-2.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2007-0245-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3333-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3452-1.rtf | 2
50 files changed, 58 insertions(+), 19 deletions(-)
New commits:
commit dd71d3848361beadb6c0baf2010a46144f927153
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Sep 30 16:59:20 2011 +0100
rtl_cipher_decode doesn't like 0 len data
diff --git a/test/source/filters-test.cxx b/test/source/filters-test.cxx
index aa6fe31..f80fd43 100644
--- a/test/source/filters-test.cxx
+++ b/test/source/filters-test.cxx
@@ -54,19 +54,18 @@ void decode(const rtl::OUString& rIn, const rtl::OUString &rOut)
osl::File aOut(rOut);
CPPUNIT_ASSERT(osl::FileBase::E_None == aOut.open(osl_File_OpenFlag_Write));
- fprintf(stderr, "rOut is %s\n", rtl::OUStringToOString(rOut, RTL_TEXTENCODING_UTF8).getStr());
-
sal_uInt8 in[8192];
sal_uInt8 out[8192];
sal_uInt64 nBytesRead, nBytesWritten;
- do
+ while(1)
{
CPPUNIT_ASSERT(osl::FileBase::E_None == aIn.read(in, sizeof(in), nBytesRead));
+ if (!nBytesRead)
+ break;
CPPUNIT_ASSERT(rtl_Cipher_E_None == rtl_cipher_decode(cipher, in, nBytesRead, out, sizeof(out)));
CPPUNIT_ASSERT(osl::FileBase::E_None == aOut.write(out, nBytesRead, nBytesWritten));
CPPUNIT_ASSERT(nBytesRead == nBytesWritten);
}
- while (nBytesRead == sizeof(in));
rtl_cipher_destroy(cipher);
}
@@ -96,11 +95,9 @@ void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUStrin
{
//ignore .files
if (sURL.getStr()[nLastSlash+1] == '.')
- {
continue;
- }
- if (sURL.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("CVE")), nLastSlash+1)
+ if (sURL.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("CVE"), nLastSlash+1))
bCVE = true;
}
@@ -109,9 +106,7 @@ void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUStrin
if (bCVE)
{
- osl::FileBase::RC err = osl::FileBase::createTempFile(NULL, NULL, &sTmpFile);
- CPPUNIT_ASSERT_MESSAGE("temp File creation failed",
- err == osl::FileBase::E_None);
+ CPPUNIT_ASSERT(osl::FileBase::E_None == osl::FileBase::createTempFile(NULL, NULL, &sTmpFile));
decode(sURL, sTmpFile);
sURL = sTmpFile;
}
@@ -124,6 +119,9 @@ void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUStrin
bool bRes = load(rFilter, sURL, rUserData);
sal_uInt32 nEndTime = osl_getGlobalTimer();
+ if (bCVE)
+ CPPUNIT_ASSERT(osl::FileBase::E_None == osl::File::remove(sTmpFile));
+
if (nExpected == test::indeterminate)
{
fprintf(stderr, "%s,%"SAL_PRIuUINT32"\n",
commit e898bcc1c2f2d227d8b638dfbee01e393562e142
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Sep 30 16:12:52 2011 +0100
silence tedious malware checkers, arcfour, key 0x435645
diff --git a/sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 b/sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2
index ca91826..c7ce93a 100644
Binary files a/sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 and b/sc/qa/unit/data/qpro/fail/CVE-2007-5747-1.wb2 differ
diff --git a/sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2
index 0ba60b2..6e525c3 100644
Binary files a/sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 and b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-1.wb2 differ
diff --git a/sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2
index 8a9eca9..b034a8c 100644
Binary files a/sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 and b/sc/qa/unit/data/qpro/pass/CVE-2007-5745-2.wb2 differ
diff --git a/svtools/qa/cppunit/data/emf/fail/CVE-2004-0209-1.emf b/svtools/qa/cppunit/data/emf/fail/CVE-2004-0209-1.emf
index 2f77fcd..a511da4 100644
Binary files a/svtools/qa/cppunit/data/emf/fail/CVE-2004-0209-1.emf and b/svtools/qa/cppunit/data/emf/fail/CVE-2004-0209-1.emf differ
diff --git a/svtools/qa/cppunit/data/emf/fail/CVE-2008-1083-1.emf b/svtools/qa/cppunit/data/emf/fail/CVE-2008-1083-1.emf
index 0cbd952..dd57d91 100644
Binary files a/svtools/qa/cppunit/data/emf/fail/CVE-2008-1083-1.emf and b/svtools/qa/cppunit/data/emf/fail/CVE-2008-1083-1.emf differ
diff --git a/svtools/qa/cppunit/data/emf/fail/CVE-2009-1217-1.emf b/svtools/qa/cppunit/data/emf/fail/CVE-2009-1217-1.emf
index ee7db91..8fa6e93 100644
Binary files a/svtools/qa/cppunit/data/emf/fail/CVE-2009-1217-1.emf and b/svtools/qa/cppunit/data/emf/fail/CVE-2009-1217-1.emf differ
diff --git a/svtools/qa/cppunit/data/emf/pass/CVE-2008-1087-1.emf b/svtools/qa/cppunit/data/emf/pass/CVE-2008-1087-1.emf
index 9bc2a3f..c71739a 100644
Binary files a/svtools/qa/cppunit/data/emf/pass/CVE-2008-1087-1.emf and b/svtools/qa/cppunit/data/emf/pass/CVE-2008-1087-1.emf differ
diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 b/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676
index dccd640..49d3ddf 100644
Binary files a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 and b/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2123-1.wmf-0.009-676 differ
diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2124-1.wmf b/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2124-1.wmf
index 5826a98..ac546ce 100644
Binary files a/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2124-1.wmf and b/svtools/qa/cppunit/data/wmf/fail/CVE-2005-2124-1.wmf differ
diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-1.wmf b/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-1.wmf
index 07db62c..b68b740 100644
Binary files a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-1.wmf and b/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-1.wmf differ
diff --git a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-2.wmf b/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-2.wmf
index 5b99a48..370abe0 100644
Binary files a/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-2.wmf and b/svtools/qa/cppunit/data/wmf/fail/CVE-2006-0143-2.wmf differ
diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2005-2123-1.wmf b/svtools/qa/cppunit/data/wmf/pass/CVE-2005-2123-1.wmf
index 6af243b..e70664e 100644
Binary files a/svtools/qa/cppunit/data/wmf/pass/CVE-2005-2123-1.wmf and b/svtools/qa/cppunit/data/wmf/pass/CVE-2005-2123-1.wmf differ
diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2006-4071-1.wmf b/svtools/qa/cppunit/data/wmf/pass/CVE-2006-4071-1.wmf
index 794a7ef..cdb09c6 100644
Binary files a/svtools/qa/cppunit/data/wmf/pass/CVE-2006-4071-1.wmf and b/svtools/qa/cppunit/data/wmf/pass/CVE-2006-4071-1.wmf differ
diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1090-1.wmf b/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1090-1.wmf
index c050fa6..7864da5 100644
Binary files a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1090-1.wmf and b/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1090-1.wmf differ
diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1238-1.wmf b/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1238-1.wmf
index a01e310..10da327 100644
Binary files a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1238-1.wmf and b/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1238-1.wmf differ
diff --git a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1245-1.wmf b/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1245-1.wmf
index a01e310..10da327 100644
Binary files a/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1245-1.wmf and b/svtools/qa/cppunit/data/wmf/pass/CVE-2007-1245-1.wmf differ
diff --git a/sw/qa/core/data/ww8/fail/CVE-2005-0941-1.doc b/sw/qa/core/data/ww8/fail/CVE-2005-0941-1.doc
index 18b300c..a1f5b76 100644
Binary files a/sw/qa/core/data/ww8/fail/CVE-2005-0941-1.doc and b/sw/qa/core/data/ww8/fail/CVE-2005-0941-1.doc differ
diff --git a/sw/qa/core/data/ww8/fail/CVE-2006-2389-1.doc b/sw/qa/core/data/ww8/fail/CVE-2006-2389-1.doc
index a1bf07a..a99da57 100644
Binary files a/sw/qa/core/data/ww8/fail/CVE-2006-2389-1.doc and b/sw/qa/core/data/ww8/fail/CVE-2006-2389-1.doc differ
diff --git a/sw/qa/core/data/ww8/fail/CVE-2008-0320-1.doc b/sw/qa/core/data/ww8/fail/CVE-2008-0320-1.doc
index b5a0832..5c6d351 100644
Binary files a/sw/qa/core/data/ww8/fail/CVE-2008-0320-1.doc and b/sw/qa/core/data/ww8/fail/CVE-2008-0320-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2006-3493-1.doc b/sw/qa/core/data/ww8/pass/CVE-2006-3493-1.doc
index af452dd..4623e3c 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2006-3493-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2006-3493-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2006-6561-1.doc b/sw/qa/core/data/ww8/pass/CVE-2006-6561-1.doc
index 240ea77..390a663 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2006-6561-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2006-6561-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2006-6628-1.doc b/sw/qa/core/data/ww8/pass/CVE-2006-6628-1.doc
index 240ea77..390a663 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2006-6628-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2006-6628-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2007-1347-1.doc b/sw/qa/core/data/ww8/pass/CVE-2007-1347-1.doc
index d25e62a..dabcf3f 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2007-1347-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2007-1347-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2008-2752-1.doc b/sw/qa/core/data/ww8/pass/CVE-2008-2752-1.doc
index f51fa8f..20c40a8 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2008-2752-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2008-2752-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2008-2752-2.doc b/sw/qa/core/data/ww8/pass/CVE-2008-2752-2.doc
index 7ce7a07..569967e 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2008-2752-2.doc and b/sw/qa/core/data/ww8/pass/CVE-2008-2752-2.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2008-2752-3.doc b/sw/qa/core/data/ww8/pass/CVE-2008-2752-3.doc
index 8b04872..3fe55f6 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2008-2752-3.doc and b/sw/qa/core/data/ww8/pass/CVE-2008-2752-3.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2008-2752-4.doc b/sw/qa/core/data/ww8/pass/CVE-2008-2752-4.doc
index 148a30d..1bd5499 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2008-2752-4.doc and b/sw/qa/core/data/ww8/pass/CVE-2008-2752-4.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2008-4841-1.doc b/sw/qa/core/data/ww8/pass/CVE-2008-4841-1.doc
index 0942b6d..37b9945 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2008-4841-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2008-4841-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2009-0200-1.doc b/sw/qa/core/data/ww8/pass/CVE-2009-0200-1.doc
index a142fec..6b9fb25 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2009-0200-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2009-0200-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2009-0201-1.doc b/sw/qa/core/data/ww8/pass/CVE-2009-0201-1.doc
index bc6182d..462b17b 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2009-0201-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2009-0201-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2009-0259-1.doc b/sw/qa/core/data/ww8/pass/CVE-2009-0259-1.doc
index 0942b6d..37b9945 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2009-0259-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2009-0259-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2009-3301-1.doc b/sw/qa/core/data/ww8/pass/CVE-2009-3301-1.doc
index 8f1c2de..8351c83 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2009-3301-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2009-3301-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2009-3302-1.doc b/sw/qa/core/data/ww8/pass/CVE-2009-3302-1.doc
index 8f1c2de..8351c83 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2009-3302-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2009-3302-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2009-3302-2.doc b/sw/qa/core/data/ww8/pass/CVE-2009-3302-2.doc
index 0cd7a7d..f8181f3 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2009-3302-2.doc and b/sw/qa/core/data/ww8/pass/CVE-2009-3302-2.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2010-3200-1.doc b/sw/qa/core/data/ww8/pass/CVE-2010-3200-1.doc
index 596aec9..4bdb053 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2010-3200-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2010-3200-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2010-3453-1.doc b/sw/qa/core/data/ww8/pass/CVE-2010-3453-1.doc
index 22cd8ee..62dacdc 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2010-3453-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2010-3453-1.doc differ
diff --git a/sw/qa/core/data/ww8/pass/CVE-2010-3454-1.doc b/sw/qa/core/data/ww8/pass/CVE-2010-3454-1.doc
index 33706c2..9bbadc0 100644
Binary files a/sw/qa/core/data/ww8/pass/CVE-2010-3454-1.doc and b/sw/qa/core/data/ww8/pass/CVE-2010-3454-1.doc differ
diff --git a/sw/qa/core/data/xml/fail/CVE-2006-3117-1.sxw b/sw/qa/core/data/xml/fail/CVE-2006-3117-1.sxw
index 49acb42..1f4d4d3 100644
Binary files a/sw/qa/core/data/xml/fail/CVE-2006-3117-1.sxw and b/sw/qa/core/data/xml/fail/CVE-2006-3117-1.sxw differ
diff --git a/test/inc/test/filters-test.hxx b/test/inc/test/filters-test.hxx
index 721f442..6c82944 100644
--- a/test/inc/test/filters-test.hxx
+++ b/test/inc/test/filters-test.hxx
@@ -40,8 +40,14 @@ enum filterStatus
indeterminate = 2
};
+/*
+ * NOTE, any files beginning with CVE- will be assumed to be encrypted using
+ * arcfour with key 0x435645, this is just to silence panicky
+ * virus/malware-checkers
+ *
+ * e.g. m[de]crypt --bare -a arcfour -o hex -k 435645 -s 3
+ */
/* Implementation of Filters test */
-
class OOO_DLLPUBLIC_TEST FiltersTest : public test::BootstrapFixture
{
public:
diff --git a/test/source/filters-test.cxx b/test/source/filters-test.cxx
index aeb92d9..aa6fe31 100644
--- a/test/source/filters-test.cxx
+++ b/test/source/filters-test.cxx
@@ -30,11 +30,47 @@
#include <test/filters-test.hxx>
#include <osl/file.hxx>
#include <osl/thread.h>
+#include <rtl/cipher.h>
using namespace ::com::sun::star;
namespace test {
+void decode(const rtl::OUString& rIn, const rtl::OUString &rOut)
+{
+ rtlCipher cipher = rtl_cipher_create(rtl_Cipher_AlgorithmARCFOUR, rtl_Cipher_ModeStream);
+ CPPUNIT_ASSERT_MESSAGE("cipher creation failed", cipher != 0);
+
+ //mcrypt --bare -a arcfour -o hex -k 435645 -s 3
+ const sal_uInt8 aKey[3] = {'C', 'V', 'E'};
+
+ rtlCipherError result = rtl_cipher_init(cipher, rtl_Cipher_DirectionDecode, aKey, SAL_N_ELEMENTS(aKey), 0, 0);
+
+ CPPUNIT_ASSERT_MESSAGE("cipher init failed", result == rtl_Cipher_E_None);
+
+ osl::File aIn(rIn);
+ CPPUNIT_ASSERT(osl::FileBase::E_None == aIn.open(osl_File_OpenFlag_Read));
+
+ osl::File aOut(rOut);
+ CPPUNIT_ASSERT(osl::FileBase::E_None == aOut.open(osl_File_OpenFlag_Write));
+
+ fprintf(stderr, "rOut is %s\n", rtl::OUStringToOString(rOut, RTL_TEXTENCODING_UTF8).getStr());
+
+ sal_uInt8 in[8192];
+ sal_uInt8 out[8192];
+ sal_uInt64 nBytesRead, nBytesWritten;
+ do
+ {
+ CPPUNIT_ASSERT(osl::FileBase::E_None == aIn.read(in, sizeof(in), nBytesRead));
+ CPPUNIT_ASSERT(rtl_Cipher_E_None == rtl_cipher_decode(cipher, in, nBytesRead, out, sizeof(out)));
+ CPPUNIT_ASSERT(osl::FileBase::E_None == aOut.write(out, nBytesRead, nBytesWritten));
+ CPPUNIT_ASSERT(nBytesRead == nBytesWritten);
+ }
+ while (nBytesRead == sizeof(in));
+
+ rtl_cipher_destroy(cipher);
+}
+
void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData,
filterStatus nExpected)
{
@@ -51,7 +87,8 @@ void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUStrin
recursiveScan(rFilter, sURL, rUserData, nExpected);
else
{
- rtl::OUString aTmpFile;
+ rtl::OUString sTmpFile;
+ bool bCVE = false;
sal_Int32 nLastSlash = sURL.lastIndexOf('/');
@@ -62,11 +99,23 @@ void FiltersTest::recursiveScan(const rtl::OUString &rFilter, const rtl::OUStrin
{
continue;
}
+
+ if (sURL.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("CVE")), nLastSlash+1)
+ bCVE = true;
}
rtl::OString aRes(rtl::OUStringToOString(sURL,
osl_getThreadTextEncoding()));
+ if (bCVE)
+ {
+ osl::FileBase::RC err = osl::FileBase::createTempFile(NULL, NULL, &sTmpFile);
+ CPPUNIT_ASSERT_MESSAGE("temp File creation failed",
+ err == osl::FileBase::E_None);
+ decode(sURL, sTmpFile);
+ sURL = sTmpFile;
+ }
+
//output name early, so in the case of a hang, the name of
//the hanging input file is visible
if (nExpected == test::indeterminate)
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2005-2971-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2005-2971-1.rtf
index 7ed841f..5cd4205 100644
Binary files a/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2005-2971-1.rtf and b/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2005-2971-1.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2010-3451-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2010-3451-1.rtf
index 5cc06e8..0c63981 100644
Binary files a/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2010-3451-1.rtf and b/writerfilter/qa/cppunittests/rtftok/data/fail/CVE-2010-3451-1.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2964.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2964.rtf
index bf61eea..da97fba 100644
Binary files a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2964.rtf and b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2964.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-1.rtf
index c38d6fc..7032170 100644
Binary files a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-1.rtf and b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-1.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-2.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-2.rtf
index 2a3f782..c5ea695 100644
Binary files a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-2.rtf and b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2005-2972-2.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2007-0245-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2007-0245-1.rtf
index a166c56..757cfe6 100644
Binary files a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2007-0245-1.rtf and b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2007-0245-1.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3333-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3333-1.rtf
index aaf9acd..4dac58c 100644
Binary files a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3333-1.rtf and b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3333-1.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3452-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3452-1.rtf
index b2800b5..da5d0f3 100644
--- a/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3452-1.rtf
+++ b/writerfilter/qa/cppunittests/rtftok/data/pass/CVE-2010-3452-1.rtf
@@ -1 +1 @@
-{\rtf1\ansi{\*\pnseclvlÿ}}
+2 ØHv$Èsù£Á
A«óu4j
\ No newline at end of file
commit 8c0a791b74005765b99a8d7bd6e2b5d2f998b7f3
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Sep 30 16:05:49 2011 +0100
callcatcher: newly unused code
diff --git a/editeng/source/outliner/paralist.cxx b/editeng/source/outliner/paralist.cxx
index 37effdf..53e31fe 100644
--- a/editeng/source/outliner/paralist.cxx
+++ b/editeng/source/outliner/paralist.cxx
@@ -180,18 +180,6 @@ void ParagraphList::MoveParagraphs( sal_uLong nStart, sal_uLong nDest, sal_uLong
}
}
-Paragraph* ParagraphList::LastVisible() const
-{
- std::vector<Paragraph*>::const_reverse_iterator iter;
- for (iter = maEntries.rbegin(); iter != maEntries.rend(); ++iter)
- {
- if ((*iter)->IsVisible())
- break;
- }
-
- return iter != maEntries.rend() ? *iter : NULL;
-}
-
sal_Bool ParagraphList::HasChilds( Paragraph* pParagraph ) const
{
sal_uLong n = GetAbsPos( pParagraph );
diff --git a/editeng/source/outliner/paralist.hxx b/editeng/source/outliner/paralist.hxx
index d574551..f4b0ae4 100644
--- a/editeng/source/outliner/paralist.hxx
+++ b/editeng/source/outliner/paralist.hxx
@@ -57,8 +57,6 @@ public:
void Remove( sal_uLong nPara );
void MoveParagraphs( sal_uLong nStart, sal_uLong nDest, sal_uLong nCount );
- Paragraph* LastVisible() const;
-
Paragraph* GetParent( Paragraph* pParagraph /*, sal_uInt16& rRelPos */ ) const;
sal_Bool HasChilds( Paragraph* pParagraph ) const;
sal_Bool HasHiddenChilds( Paragraph* pParagraph ) const;
More information about the Libreoffice-commits
mailing list