[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«óu4”j
\ 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