include/svx/xflboxy.hxx | 8 ++++---- svl/source/items/poolitem.cxx | 4 ++-- svx/source/xoutdev/xattr2.cxx | 10 ++++------ 3 files changed, 10 insertions(+), 12 deletions(-)
New commits: commit 367ba88092fbc0ba06a7f77157cd012ff0fe3caf Author: Caolán McNamara <[email protected]> AuthorDate: Tue Jun 4 09:48:57 2024 +0100 Commit: Caolán McNamara <[email protected]> CommitDate: Wed Jun 5 16:56:55 2024 +0200 Related: tdf#153008 bump XFillBmpPosOffsetXItem to sal_Int32 and XFillBmpPosOffsetYItem. To avoid sal_uInt16 overflows on large input values. Lets use sal_Int32 instead of sal_uInt32 given the amount of existing casting to sal_Int32 of XFillBmpPosOffset[X|Y]Item::GetValue() Change-Id: I8329c11b75c9ad01011e10130257963737ffe553 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168398 Reviewed-by: Caolán McNamara <[email protected]> Reviewed-by: Attila Szűcs <[email protected]> Tested-by: Jenkins diff --git a/include/svx/xflboxy.hxx b/include/svx/xflboxy.hxx index 54d354b52268..acc8fb7fdea7 100644 --- a/include/svx/xflboxy.hxx +++ b/include/svx/xflboxy.hxx @@ -23,10 +23,10 @@ #include <svl/intitem.hxx> #include <svx/svxdllapi.h> -class SVXCORE_DLLPUBLIC XFillBmpPosOffsetXItem final : public SfxUInt16Item +class SVXCORE_DLLPUBLIC XFillBmpPosOffsetXItem final : public SfxInt32Item { public: - XFillBmpPosOffsetXItem( sal_uInt16 nOffPosX = 0 ); + XFillBmpPosOffsetXItem( sal_Int32 nOffPosX = 0 ); SVX_DLLPRIVATE virtual XFillBmpPosOffsetXItem* Clone( SfxItemPool* pPool = nullptr ) const override; @@ -36,10 +36,10 @@ public: OUString &rText, const IntlWrapper& ) const override; }; -class SVXCORE_DLLPUBLIC XFillBmpPosOffsetYItem final : public SfxUInt16Item +class SVXCORE_DLLPUBLIC XFillBmpPosOffsetYItem final : public SfxInt32Item { public: - XFillBmpPosOffsetYItem( sal_uInt16 nOffPosY = 0 ); + XFillBmpPosOffsetYItem( sal_Int32 nOffPosY = 0 ); SVX_DLLPRIVATE virtual XFillBmpPosOffsetYItem* Clone( SfxItemPool* pPool = nullptr ) const override; diff --git a/svl/source/items/poolitem.cxx b/svl/source/items/poolitem.cxx index de207ef9db25..bd4b62cb1419 100644 --- a/svl/source/items/poolitem.cxx +++ b/svl/source/items/poolitem.cxx @@ -161,8 +161,8 @@ // class Svx3DShadeModeItem : public SfxUInt16Item // class SdrEdgeLineDeltaCountItem: public SfxUInt16Item // class SvxViewLayoutItem: public SfxUInt16Item -// class XFillBmpPosOffsetXItem : public SfxUInt16Item -// class XFillBmpPosOffsetYItem : public SfxUInt16Item +// class XFillBmpPosOffsetXItem : public SfxInt32Item +// class XFillBmpPosOffsetYItem : public SfxInt32Item // class XFillBmpTileOffsetXItem : public SfxUInt16Item // class XFillBmpTileOffsetYItem : public SfxUInt16Item // class XFillTransparenceItem: public SfxUInt16Item diff --git a/svx/source/xoutdev/xattr2.cxx b/svx/source/xoutdev/xattr2.cxx index ad1b3b2959e5..7e82a1f0b950 100644 --- a/svx/source/xoutdev/xattr2.cxx +++ b/svx/source/xoutdev/xattr2.cxx @@ -631,9 +631,8 @@ void XFillBmpStretchItem::dumpAsXml(xmlTextWriterPtr pWriter) const (void)xmlTextWriterEndElement(pWriter); } - -XFillBmpPosOffsetXItem::XFillBmpPosOffsetXItem( sal_uInt16 nOffPosX ) : - SfxUInt16Item( XATTR_FILLBMP_POSOFFSETX, nOffPosX ) +XFillBmpPosOffsetXItem::XFillBmpPosOffsetXItem(sal_Int32 nOffPosX) + : SfxInt32Item(XATTR_FILLBMP_POSOFFSETX, nOffPosX) { } @@ -654,9 +653,8 @@ bool XFillBmpPosOffsetXItem::GetPresentation return true; } - -XFillBmpPosOffsetYItem::XFillBmpPosOffsetYItem( sal_uInt16 nOffPosY ) : - SfxUInt16Item( XATTR_FILLBMP_POSOFFSETY, nOffPosY ) +XFillBmpPosOffsetYItem::XFillBmpPosOffsetYItem(sal_Int32 nOffPosY) + : SfxInt32Item(XATTR_FILLBMP_POSOFFSETY, nOffPosY) { }
