[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - filter/source include/filter

Michael Stahl mstahl at redhat.com
Tue Jun 7 07:24:32 UTC 2016


 filter/source/msfilter/svdfppt.cxx  |    1 +
 include/filter/msfilter/svdfppt.hxx |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 0480d6b366fb52d44b19545e3f9511750ad15abd
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Jun 3 22:00:12 2016 +0200

    filter: PPT import: PptPlaceholder is 1 byte large
    
    The array of 8 bytes corresponds to 8 enum values and is read directly
    in ReadPptSlideLayoutAto(); this was wrongly converted to enum.
    
    (regression from e5a03da8eb02c333502d6b427625e7bf554ff203)
    
    Change-Id: I5757e06459467b3c84c4a404493fa3be23e4e9a0
    (cherry picked from commit 6325cdb735effc5c9ff85819b20aec4271158519)
    Reviewed-on: https://gerrit.libreoffice.org/25990
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 9d23b39..4bd7a4f 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -309,6 +309,7 @@ SvStream& ReadPptSlideLayoutAtom( SvStream& rIn, PptSlideLayoutAtom& rAtom )
     sal_Int32 nTmp;
     rIn.ReadInt32(nTmp);
     rAtom.eLayout = static_cast<PptSlideLayout>(nTmp);
+    static_assert(sizeof(rAtom.aPlaceholderId) == 8, "wrong size of serialized array");
     rIn.Read( rAtom.aPlaceholderId, 8 );
     return rIn;
 }
diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx
index 4bef189..42db74a 100644
--- a/include/filter/msfilter/svdfppt.hxx
+++ b/include/filter/msfilter/svdfppt.hxx
@@ -58,7 +58,7 @@ class PPTTextObj;
 class DffRecordHeader;
 class SvxBulletItem;
 enum class PptSlideLayout;
-enum class PptPlaceholder;
+enum class PptPlaceholder : sal_uInt8;
 
 #define PPT_IMPORTFLAGS_NO_TEXT_ASSERT  1
 
@@ -1459,7 +1459,7 @@ enum class PptSlideLayout
 };
 
 // the following table describes the placeholder id's (values from reality followed by values taken from the documentation)
-enum class PptPlaceholder
+enum class PptPlaceholder : sal_uInt8
 {
     NONE                   = 0,   //  0 None
     MASTERTITLE            = 1,   //  1 Master title


More information about the Libreoffice-commits mailing list